Я новичок в cakePHP, и у меня возникают проблемы с корректной связью всех моих моделей.
Это макет моих моделей в cakePHP:
Класс принадлежит к местоположению
Класс принадлежит к типу класса
Класс hasMany ScheduledClass
Класс запланированного класса принадлежит инструктору
Мойпроблема в том, что когда я использую:
$this->Class->find('all')
, я получаю данные только из моделей Class, Location, ClassType и ScheduledClass.Я не получаю никаких данных от модели Инструктора.
Я могу установить рекурсивное значение '2' и получить данные из модели Instructor, но это приводит к огромному количеству запросов (по одному на каждую строку) вместо объединения в "ScheduledClass.instructor_id ="Instructor.id ".
То, что я надеялся получить, выглядит примерно так:
SELECT
...
...
FROM classes as Class
INNER JOIN locations as Location on Class.location_id = Location.id
INNER JOIN class_types as ClassType on Class.class_type_id = ClassType.id
INNER JOIN scheduled_classes as ScheduledClass on ScheduledClass.class_id = Class.id
INNER JOIN instructors as Instructor on ScheduledClass.instructor_id = Instructor.id
Я пытался использовать и Containable, и Joins для получения нужных данных, но я не былне могу заставить их работать (возможно, из-за моего неправильного понимания их использования).
Заранее спасибо!