gpt4 book ai didi

php - 从另一个模型cakephp 3.5获取数据

转载 作者:行者123 更新时间:2023-11-29 18:08:05 24 4
gpt4 key购买 nike

我有表questions,其中包含idquestionsmarks。然后,我有表quizzes,其中包含idquiz_name。我创建了名为 question_quizzes 的桥接表,其中包含来自 quiz 表的 id 和来自 questionid > 表。如何将 questions 表中的所有数据(idquestionsmarks)显示为添加形式question_quizzes

编辑:

这是 QuestionQuizzes Controller 中现有的 Question 函数。在现有的问题函数中,我想显示所有的问题表

 class QuestionQuizzesController extends AppController
public function existingQuestion()
{
$query = $questionQuizzes->find('all')->contain('Questions');
foreach ($query as $questionQuizzes) {
echo $questionQuiz->question->id;
}
}

这是问题测验表

class QuestionQuizzesTable extends Table
{


/**
* Initialize method
*
* @param array $config The configuration for the Table.
* @return void
*/

var $name = 'QuestionQuizzes';

public function initialize(array $config)
{
parent::initialize($config);

$this->setTable('question_quizzes');

$this->belongsTo('Quizzes', [
'foreignKey' => 'quiz_id',
'joinType' => 'INNER'
]);
$this->belongsTo('Questions', [
'foreignKey' => 'question_id',
'joinType' => 'INNER'
]);
}

/**
* Returns a rules checker object that will be used for validating
* application integrity.
*
* @param \Cake\ORM\RulesChecker $rules The rules object to be modified.
* @return \Cake\ORM\RulesChecker
*/
public function buildRules(RulesChecker $rules)
{
$rules->add($rules->existsIn(['quiz_id'], 'Quizzes'));
$rules->add($rules->existsIn(['question_id'], 'Questions'));

return $rules;
}
}

我已经编辑了代码,但仍然出现错误“Call to a member function find() on null”。有谁能够帮助我??我被困住了

最佳答案

当您编写 $query = $questionQuizzes->find() 时,您尚未在任何地方声明 $questionQuizzes 。变量并不是完全形成的。因此,它是空的,并且您正在尝试调用它的函数。从您收到的错误消息中,这一切应该是不言而喻的,它肯定将您定向到有问题的行吗? (链接 @urfusion 中提供了仅引用 $articles 的代码片段,但这些代码片段在没有上下文的情况下显示,并假设您已提前创建了变量。)

修复方法是使用 $this->questionQuizzes->find()。由于您在初始化函数中所做的操作,$thisquestionQuizzes 成员应该已由 Cake 初始化。本手册的相关部分是关于 Query Builder 的部分。 .

请注意,Cake 约定会让您将表命名为 questions_quizzes,而不是 Question_quizzes;两个部分都是复数。或者 quizzes_questions 也可以工作,并且对我个人来说更有意义(毕竟它跟踪测验的问题)。您选择的名称没有任何问题,但如果您更完全地遵循约定,示例可能会更容易地适合您的代码。

关于php - 从另一个模型cakephp 3.5获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47654910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com