例如,我的数据库中有以下表格:
在人表中,我有以下列:
在群组表格中,我有以下列:
现在我想从我的数据库中获取结果,以列出所有人的列表。 所以我会用这个:
$this->set('people', $this->Person->find("all"));
显然在我看来,我会遍历返回的数组并显示它。现在,我还想了解列表中的每个人他们的颜色和组名称(从组表中检索)。
我将如何在CakePHP中解决这个问题。
答案 0 :(得分:4)
首先确保定义了模型关系。其次,你可能想考虑为你的相关表使用“id”字段(我假设你做了,可能只是没有将它们包含在原始问题表定义中)。
是的,运行debug($ this-> Person-> find(“all”)),Elwhis注意到你的阵列正在倾倒。
如果这是一个关键任务应用程序,请确保使用containable而不是递归来防止对您的数据库征税。
答案 1 :(得分:3)
您必须设置recursive
属性。但我想它应该使用默认值。将此行放在控制器debug($this->Person->find("all"))
中,并检查数据是否已包含所需的组信息。
如果没有,请在调用$this->Person->recursive = 1;
函数
find()
有关recursive
:http://book.cakephp.org/view/1063/recursive