Рекурсивные запросы Yii

Я новичок в Yii и столкнулся с барьером связанных моделей. Я подозреваю, что другие новички также время от времени сталкиваются с этим и будут благодарны за любой вклад, даже если они просто укажут мне правильное направление, поскольку я ничего не могу найти по этой проблеме.

У меня есть три связанные модели-

  • Сообщения
  • Ответы
  • Комментарии

Сообщения имеют_много ответов и ответов имеют_много комментариев-

Пост->Ответ->Комментарий

Я хочу запустить запрос в контроллере сообщений для определенного сообщения, которое возвращает связанные ответы с соответствующими комментариями. У меня сложилось впечатление (правильно/ошибочно), что это можно сделать с помощью метода find в сочетании с некоторыми вариантами следующего:

Post::model()->with('responses','comments')->findAll();

Очевидно, это не сработает. Кто-нибудь знает метод или подход к решению этой проблемы?


person goose    schedule 07.10.2012    source источник
comment
Вы пробовали Post::model()->with('responses.comments')->findByPk($post_id)?   -  person DCoder    schedule 07.10.2012
comment
Спасибо, я думаю, это помогло.   -  person goose    schedule 08.10.2012


Ответы (1)


Yii делает это намного лучше, чем вы ищете. Надеюсь, это решит вашу проблему.

Post::model()->with('responses','responses.comments')->findAll();

Но одна их вещь должна заключаться в отношении комментариев в модели ответов к модели комментариев.

person Onkar Janwa    schedule 08.10.2012