![]() |
1
7
将调试级别提高到2并查看sql输出。找到代码生成的查询,您会发现有几个查询。cakephp中的orm层不会在第一个查询中连接与habtm相关的表。它从第一个select获取结果,然后分别获取每个项的habtm数据。因为联接表不在第一个查询中,所以用于联接表的条件将导致您看到的错误。 烹饪书有一节 HABTM associations 并根据habtm表中符合您要求的条件获取数据。 |
![]() |
2
5
从食谱上看: http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM 一种选择是搜索标签模型(而不是recipe),它也会给我们提供所有相关的recipe。
我们还可以使用join表模型(cakephp为我们提供了这个模型)来搜索给定的id。
也可以创建一个异域关联,以便创建尽可能多的连接以允许过滤,例如:
|
![]() |
3
2
你的表应该叫“学校用户”而不是“学校成员”,因为它是多对多的,因此在两边的表名中使用复数形式是合适的。 还可以将模型类名“school”设置为HABTM的别名。为了避免冲突,您应该将其更改为更通用的“学校”,如“用户所在的学校很多”。 还有一个提示:尝试通过学校模型而不是用户模型来找到用户。 $this->用户->学校->查找() 希望这有帮助。 |
![]() |
4
0
fwiw,您的联接表看起来确实“命名奇怪”,因为它们不遵循这里描述的约定: http://book.cakephp.org/view/83/hasAndBelongsToMany-HABTM 无论如何,祝你好运,我记得habtm在cakephp是个屁股痛。 |
![]() |
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
![]() |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
|
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |