我在问题和类别之间有一种习惯关系。这种习惯关系是标准的,并在各自的模型中设置。我现在有以下问题。在控制器操作中,我有一个包含几个问题 ID 的数组。我想返回与这些问题相关的所有类别。我正在使用的查找如下所示。
$case_questions_categories = $this->Category->find('all', array('conditions' => array('OR' => $case_question_id_array)));
// Here the $case_question_id_array is generated as followed:
foreach($question['CaseQuestion'] as $case_question) {
$case_question_id_array[] = "Category.question_id = " . $case_question['id'];
}
很明显这不起作用,它会引发以下错误:
Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Category.question_id' in 'where clause'
SQL Query: SELECT `Category`.`id`, `Category`.`name`, `Category`.`slug`, `Category`.`category_order`, `Category`.`created`, `Category`.`modified`, `Category`.`is_deleted` FROM `streetofwalls`.`categories` AS `Category` WHERE `Category`.`question_id` = 182
这是有道理的,因为我生成的查询中没有引用来自 habtm 关系的连接表。如何正确处理 habtm 关系,以便我可以传递一组问题 ID 并返回相关类别。
感谢任何提供时间或帮助的人。