Я хочу установить $ options ['contains'], чтобы включить все ассоциированные модели верхнего уровня (но не ассоциации второй степени). Я знаю, что могу просто перечислить каждую модель ...CakePHP: Как содержать все ассоциации верхнего уровня
$this->Object->find('all', array('contain'=>array('Model1', 'Model2', ...
Но это не то, что я хочу, потому что дополнительные модели могут быть связаны в будущем, и я хотел бы, чтобы они автоматически включаются.
Я думаю, что я помню старые версии CakePHP, позволяющие что-то вроде ...
$this->Object->find('all', array('contain'=>array('*')
Но до сих пор (на v2.4) не похоже на работу.
После повторного чтения the documentation это звучит так, как будто я хочу должен по умолчанию. Но это не так.
Спасибо Дэйв. Разрешен ли «рекурсивный» в качестве ключа в массиве $ options для поиска? Знаете ли вы, что он будет превзойти «содержать», если он установлен где-то еще вверх по течению? – emersonthis
В соответствии с [документацией по поиску()] (http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#find) вы можете установить рекурсивную систему для каждого поиска. Однако, если вы используете Containable Behavior, вы должны настроить рекурсивную на -1. – Dave
Я дал ему выстрел, и он работает! Тем не менее, отношения HABTM включают в себя их «ассоциацию присоединения», даже если «рекурсивный» установлен в 1. Ожидается ли это? – emersonthis