2011-02-27 113 views
1

例如,我有我的數據庫中下表:如何根據cakephp中不同表的結果從數據庫表中獲取結果?

  • 人民

而在人民表,我有以下欄目:

  • 名稱
  • 出生日期
  • 集團

表,我有以下欄目:

  • 名稱
  • 顏色

現在我想獲取從我的數據庫結果做出一個列表中的所有。 所以我這樣做:

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

很顯然,在我看來,我會遍歷返回的數組並顯示它。現在我還想知道列表中的每個人是什麼顏色和組名稱(從表中檢索)。

我將如何在CakePHP中解決這個問題。

+0

順便說一句,你遵循蛋糕命名約定? – Elwhis 2011-02-27 18:31:04

+0

我儘量平時。我不知道我必須命名**組**列** group_id **。 – Chaim 2011-02-27 19:17:03

回答

4

首先確保你的模型關係定義。其次,您可能需要考慮在相關表格中使用「id」字段(我假設您已經這麼做了,可能並未將它們包含在原始問題表格定義中)。

是的,運行debug($ this-> Person-> find(「all」)),正如Elwhis指出的那樣,看看你的數組正在拋出。

如果這是一個關鍵任務應用程序,一定要使用containable而不是遞歸來防止向您的數據庫徵稅查詢。

+0

好的,謝謝你的幫助。我想到了。我不得不讓該集團擁有許多()人。此外,我還將人員列名爲group_id以便遵循約定。 – Chaim 2011-02-27 19:16:03

3

您必須設置recursive屬性。但我想它應該與默認值一起工作。將這一行放入您的控制器debug($this->Person->find("all"))中,並檢查數據是否已經包含您所需的組信息。

如果沒有,嘗試調用find()功能

recursive的詳細信息之前設置$this->Person->recursive = 1;http://book.cakephp.org/view/1063/recursive

相關問題