2010-06-19 54 views
0

模型我有三個表:單位,提供和代理具有以下關聯CakePHP的拼版有多個協會

  • 單位的hasMany信息
  • 收購屬於關聯代理

當我分頁單位的表,我得到所有單位以及每個單位的所有相應優惠,但不包括該優惠所屬的代理。例如:

- Unit1 
    - offer1 
    - offer2 
- Unit2 
    - offer1 
    - offer2 
    - offer3 

而且我希望有這樣的事情:

- Unit1 
    - offer1 
    - agent1 
    - offer2 
    - agent2 
- Unit2 
    - offer1 
    - agent1 
    - offer2 
    - agent2 
    - offer3 
    - agent3 

怎麼辦呢?

回答

0

最簡單的解決方案是在調用分頁之前增加模型的遞歸。

$this->Unit->recursive = 1; //or more 

但是您應該非常小心,因爲您可以兩次調用同一個模型。額外的建議:嘗試在使用前取消綁定不必要的模型。再次 - 非常小心,因爲這可能會減慢應用程序。

0

使用Containable行爲應該可以讓你在那裏。我現在從不使用遞歸。

或者,有時候可能有助於跨感興趣的表創建數據庫視圖。這將使分頁變得簡單很多,並允許您準確指定您需要的數據(避免不必要的數據傳輸)。