php - 不能使用包含 cakephp 3

标签 php cakephp-3.0 contain

我想从 quizdetails 表中选择问题数据。问题数据也将与答案表连接。所以我使用代码 php:

$questions = $this
    ->QuizDetails->find()
    ->contain([
        'Questions' => function($q) {
            return $q->contain(['Answers']);
        }
    ])
    ->where(['QuizDetails.quiz_id' => $id]);

文件答案表:

$this->table('answers');
$this->belongsTo('Questions', [
    'className' => 'Publishing.Questions',
    'foreignKey' => 'question_id',
]);

文件 QuizDetailsTable:

$this->table('quiz_details');
$this->belongsTo('Questions', [
    'className' => 'Publishing.Questions',
    'foreignKey' => 'question_id',
]);

所以,当我运行它时,通过一个错误 问题与答案无关

如果我使用:

$question = $this->Questions->find()->contain(['Answers'])

没关系。 请帮助我修复它。

最佳答案

如果我没记错的话,您只需要在 QuizDetails 中包含问题和答案,如果是这样,只需尝试:

$questions = $this->QuizDetails->find()->contain(['Questions.Answers'])
             ->where(['QuizDetails.quiz_id' => $id]);

关于php - 不能使用包含 cakephp 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40275183/

相关文章:

cakephp - App::在 CakePHP 3 中构建

javascript - 为什么我的元素不是 :contains(variable) work when using variable instead of string? jquery

Cakephp 2.0 使用包含时出现奇怪的 array_merge 错误

java - 如何查找 arraylist 是否包含类字段中的值?

php - PostgreSQL:每年创建新表/复制现有表的最佳方式

php - Eloquent Laravel Relationship - 用户要么是学生要么是老师一对一的关系

php - 如何在实例化对象之前将 PHP 变量定义为特定的类类型?

cakephp - Cakephp3 ElasticSearch-如何获得结果

PHP代码不创建数据库

php - 如果页面为空,如何重定向