【发布时间】:2011-09-02 16:58:16
【问题描述】:
我是 cakePHP 新手,在让我的所有模型正确链接时遇到问题。
这是我的模型在 cakePHP 中的布局:
类属于位置
类属于类类型
类 hasMany ScheduledClass
ScheduledClass 属于 Instructor
我的问题是当我使用时:
$this->Class->find('all')
我只从 Class、Location、ClassType 和 ScheduledClass 模型中获取数据。我没有从 Instructor 模型中获得任何数据。
我可以将递归值设置为“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 来获取正确的数据,但我无法让任何一个工作(可能是由于我误解了它们的用途)。
提前谢谢你!
【问题讨论】: