如何在cakephp中使用join从三个表中获取数据?
如何在cakephp中使用join从三个表中获取具有公共包id的数据 包id在三个表之间是通用的 我想从三个具有特定包id的表中获取数据如何在cakephp中使用join从三个表中获取数据?,php,mysql,cakephp,join,Php,Mysql,Cakephp,Join,如何在cakephp中使用join从三个表中获取具有公共包id的数据 包id在三个表之间是通用的 我想从三个具有特定包id的表中获取数据 是否有任何查询可以在单个时间从三个表中获取特定包id的数据?连接可以按如下方式完成,替换您的表而不是我的表 假设这里我的表controller是courselessonreference controller,因此我可以按如下方式连接其他2个或多个表: $conditionForId = array('CourseLessonsReference.course
是否有任何查询可以在单个时间从三个表中获取特定包id的数据?连接可以按如下方式完成,替换您的表而不是我的表 假设这里我的表controller是courselessonreference controller,因此我可以按如下方式连接其他2个或多个表:
$conditionForId = array('CourseLessonsReference.course_id'=>$package_id,
);
//Pagination logic
$this->paginate = $allConditionsFields = array('conditions' => $conditionSearchLessonsByCourse,
"joins" => array(
array(//UserCourse = Course Join
"table" => "courses",
"alias" => "Course1",
"type" => "INNER",
"conditions" => array(
"Course1.id = CourseLessonsReference.course_id"
)
),//For Category = Course Join
array(
"table" => "course_categories",
"alias" => "CourseCategory",
"type" => "INNER",
"conditions" => array(
"CourseCategory.id = Course1.course_category_id"
)
)
),
'recursive' => 2
);
$resultOfJoin = $this->CourseLessonsReference->find('all', $allConditionsFields);
$resultOfJoin将为您提供3个表的联接结果
这意味着将当前表CoursElessOnReference与$allConditionsFields数组中join标记中的指定表联接
由于您没有提供表的架构,在我的例子中,当前的控制器/模型/表是CoursElessOnReference,它将具有引用。参考与课程相关联,因此课程id是课程课程参考表中的外键。这是一个join。现在,课程已连接到类别,因此,课程将以课程类别id作为外键。有两种主要方法可以做到这一点。其中一种是标准的CakePHP方式,另一种是使用自定义联接
指定表名及其模式/表字段SOP,是否检查答案??