2013-04-17 114 views
0

我想找到代碼中的所有關係:CakePHP的遞歸2與翻譯行爲

$this->set('types', $this->Project->ProjectType->find('all', array(
    'recursive' => 2))); 

我得到的錯誤,當我設置遞歸以2:

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'I18n__name.content' in 'field list' 

型號ProjectType使用翻譯行爲的content場(文本類型)。 其他遞歸作品不錯。 如何返回recursive = 2的結果?

回答

1

只是根本不使用遞歸。

在您的AppModel中將其設置爲public $recursive = -1;,之後不要更改它。然後使用CakePHP's Containable Behavior來檢索關聯的數據。

遞歸會給你帶來更多的麻煩。如果Containable不是那麼容易/太棒了,也許我們會被遞歸卡住,但是......它真棒而且很簡單:)

+0

Okey,我稍後檢查這個行爲,但是在我的問題中問題出在哪裏?因爲我使用翻譯行爲? – kicaj