присоединяется может быть сделан следующим образом, заменить ваши таблицы вместо шахтной
Пусть здесь мой стол, контроллер CourseLessonsReference
контроллер, так что я могу присоединиться к другим 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 даст вам результат для объединений из трех таблиц.
Это означает объединение Текущая таблица CourseLessonsReference
с указанными таблицами в теге Join в массиве $ allConditionsFields.
Как вы не указали схему своих таблиц, здесь, в моем случае, текущий контроллер/модель/таблица - это CourseLessonsReference, которая будет иметь ссылки. Ссылки связаны с курсом, поэтому course_id - это внешний ключ в таблице course_lessons_reference. Итак, это 1 соединение. Теперь курс связан с категорией, поэтому курс будет иметь course_category_id
как внешний ключ.
Укажите ваши имена таблиц с их схемами/таблицей полого –
OP, уход, чтобы проверить ответ ?? –