2010-11-23 53 views
0

我想回顧遞歸級別3的數據。問題是它會添加所有8個鏈接的模型,但我只需要來自三個數據模型的數據。有什麼方法可以忽略某些模型或專門詢問某些模型,但不是全部。像useModel('Model1','Model2')?CakePHP:如何在檢索數據時指定模型?

+0

快速提示:在手冊中尋找解除綁定 – c0rnh0li0 2010-11-23 00:32:51

+0

綁定或解除綁定僅在第一級遞歸時有效。 – Sharj 2010-11-23 02:37:26

回答

5

這是更好地使用Containable行爲,這將允許您指定找到這樣的條件:

$this->Post->find('all', array(
    'contain' => array(
     'Tag', 
     'Comment' => array(
      'User') 
      ) 
     ) 
    ); 

而且,與此相伴隨,這是很好的設置$遞歸在AppModel爲-1。

class AppModel extends Model { 
    var $recursive = -1; 
    var $actsAs = array('Containable'); 
} 

這會給你你需要的更好的控制,並確保你的查詢不臃腫隨着越來越多的關係被添加到您的模型隨着時間的推移。

相關問題