CakePHP递归2与翻译行为

时间:2013-04-17 17:59:14

标签: cakephp recursion internationalization cakephp-2.3

我想通过代码找到所有关系:

$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 个答案:

答案 0 :(得分:1)

根本不要使用递归。

在AppModel中将其设置为public $recursive = -1;,之后不要更改它。然后使用CakePHP's Containable Behavior检索关联数据。

递归会给你带来更多令人头痛的事情。如果Containable不是那么容易/太棒了,也许我们会被使用递归卡住,但是......它太棒了,很简单:)