如何根据cakephp中不同表的结果从数据库表中获取结果?

时间:2011-02-27 15:14:34

标签: php mysql database cakephp cakephp-1.3

例如,我的数据库中有以下表格:

表中,我有以下列:

  • 名称
  • 生日

群组表格中,我有以下列:

  • 名称
  • 颜色

现在我想从我的数据库中获取结果,以列出所有的列表。 所以我会用这个:

$this->set('people', $this->Person->find("all"));

显然在我看来,我会遍历返回的数组并显示它。现在,我还想了解列表中的每个人他们的颜色和组名称(从表中检索)。

我将如何在CakePHP中解决这个问题。

2 个答案:

答案 0 :(得分:4)

首先确保定义了模型关系。其次,你可能想考虑为你的相关表使用“id”字段(我假设你做了,可能只是没有将它们包含在原始问题表定义中)。

是的,运行debug($ this-> Person-> find(“all”)),Elwhis注意到你的阵列正在倾倒。

如果这是一个关键任务应用程序,请确保使用containable而不是递归来防止对您的数据库征税。

答案 1 :(得分:3)

您必须设置recursive属性。但我想它应该使用默认值。将此行放在控制器debug($this->Person->find("all"))中,并检查数据是否已包含所需的组信息。

如果没有,请在调用$this->Person->recursive = 1;函数

之前尝试设置find()

有关recursivehttp://book.cakephp.org/view/1063/recursive

的详细信息