Предположим, у меня есть следующие модели. Пользователи, сообщения и комментарии. У пользователей много сообщений. Посты имеют много комментариев. Если я попробую следующее в контроллере сообщений:
$post = $this->Post->find('first', array('contain' => array('Comment')));
Я получаю массив, который выглядит так:
array(
'Post' => array(
'postfield1',
'postfield2',
'etc'
),
'Comment' => array(
[0] => array('firstcommentfield1', 'etcfields'),
[1] => array('secondcommentfield1', 'etcfields'),
)
)
Но если я запущу следующее из контроллера Users,
$user = $this->User->find('first', array('contain' => array('Post' => array('Comment'))));
а потом смотрю первый пост для пользователя $user['Post'][0]
получаю следующее
array(
'Post' => array(
'postfield1',
'postfield2',
'etc'
'Comment' => array(
[0] => array('firstcommentfield1', 'etcfields'),
[1] => array('secondcommentfield1', 'etcfields'),
)
),
)
Это затрудняет написание функций, которые воздействуют на сообщения без предварительного форматирования вручную.
У кого-нибудь есть обходной путь?