Я использую CakePHP 1.2.6 и имею следующие отношения:
Витрина HABTM Пользователь принадлежит Галерее имеет одно изображение
Я пытаюсь получить все данные, относящиеся к витрине, а также для всех ее пользователей с помощью Galleryitem -> Image. Я использую следующий запрос:
$showcase = $this->Showcase->find('first',
array('conditions'=>array('Showcase.id'=>$id),
'contain'=> array(
'User' => array(
'Galleryitem' => array(
'Image'
)
)
)
)
);
Это возвращает и пустой массив Galleryitem
и, следовательно, Image
записей вообще.
Если я попробую следующее:
$showcase = $this->Showcase->User->find('first',
array(
'contain'=> array(
'Galleryitem' => array(
'Image'
)
)
)
);
Я получил некоторые данные о Image
. Кажется, здесь играет роль глубина.
Другими факторами, которые пришли на ум, были отношения belongsTo
между User
и Galleryitem
.
Почему мой запрос не возвращает данные с глубины 3?
Update
Набор отношений Showcase в моем проекте гораздо более разветвлен, чем я объяснил выше. Все остальные ветви правильно отображаются. Поэтому я думаю, что это связано с конкретными отношениями в этой отрасли, User belongsTo Galleryitem
.
Как ни странно, потому что другие ветви содержат этот же набор отношений Galleryitem hasOne Image
.