cakephp在一个联接表中同时联接两个以上的表

cakephp在一个联接表中同时联接两个以上的表,cakephp,join,Cakephp,Join,我已经成功地将我的许多项目转化为蛋糕,但我有一个项目是我正在努力应对的挑战 在典型的“hasMany to”连接中,例如在蛋糕文档中,您有3个表,Student、Course和CourseMembership学生和课程有许多课程记忆和课程记忆属于学生和课程 我的问题是,是否可以使用常规约定,以这种方式将两个以上的表连接在一起?例如,添加另一个表,例如,讲师(忘记现实世界中的可能性)将创建更多可能的排列,但Cake是否可以本机处理 提前谢谢 编辑:下面是联接的表布局(HTH): 编辑2:默认情况下

我已经成功地将我的许多项目转化为蛋糕,但我有一个项目是我正在努力应对的挑战

在典型的“
hasMany to
”连接中,例如在蛋糕文档中,您有3个表,
Student
Course
CourseMembership
<代码>学生和
课程有许多课程记忆
课程记忆属于学生
课程

我的问题是,是否可以使用常规约定,以这种方式将两个以上的表连接在一起?例如,添加另一个表,例如,
讲师
(忘记现实世界中的可能性)将创建更多可能的排列,但Cake是否可以本机处理

提前谢谢

编辑:下面是联接的表布局(HTH):


编辑2:默认情况下,联接表将被称为
course\u students
,因此我要找的是一个名为
course\u讲师\u students
的表,具有上述布局(显然不需要这样称呼,只是为了遵守CakePHP命名约定)。

<。您可以
Join
加入任意数量的表。使用CakePHP进行连接与使用MySQL运行连接查询没有什么不同——CakePHP只是采用CakePHP语法并为您创建MySQL(或其他)查询


旁注-只需确保表的索引正确。

您可以使用Cakephp

  • 编写简单sql作为查询(无可推荐)
  • 写连接句
  • 使用深度关联(可推荐)
  • 然而,你们的问题并不清楚,也不可能确定你们在寻找哪种答案,或者你们在寻找什么


    或许您可以扩展您所寻找内容的最终结果,以帮助您

    第3条)。我希望通过一个联接表联接3个、4个甚至5个表。我知道我能做到,我想知道的是做这件事的惯例(如果有的话)。我通常使用deep Relationship,比如exmaple$this->MyModel->bindModel(数组('belongsTo'=>array('OneModel'=>array('className'=>OtherModel',foreignKey'=FALSE,'conditions'=>OneModel.id=OtherModel.one\U model\id'),…../Deeping,根据需要));通过这种方式,也可以使用HasOne,这取决于你的模型库中有哪种关系这是一种更好的方式,加入sentense通常可以很好地使用mysql,但不能很好地使用其他da,如postgres或sqlite,绑定模型可能会更好
    id | student_id | course_id | lecturer_id