CakePHP recursive 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 с помощью Translate Behavior для поля content (текстовый тип). Другие рекурсивные работы работают хорошо. Как вернуть результаты для recursive = 2?


person kicaj    schedule 17.04.2013    source источник


Ответы (1)


Просто не используйте рекурсию вообще.

Установите для него значение public $recursive = -1; в вашей AppModel и не меняйте его после этого. Затем используйте Containable Behavior в CakePHP для получения связанных данных.

Recursive доставит вам больше головной боли, чем того стоит. Если бы Containable не был таким простым/потрясающим, возможно, мы бы застряли на рекурсивном, но... это круто и ОЧЕНЬ просто :)

person Dave    schedule 17.04.2013
comment
Хорошо, я проверю позже это поведение, но где проблема в моем вопросе? Потому что я использую Translate Behavior? - person kicaj; 18.04.2013