Join

Есть таблица с пользователями (id, name, …)

Есть таблица с книгами (id, title, user_id, …)

Есть таблица с комментариями к книгам (id, book_id, user_id, comment, …)

Я хочу вывести книгу и комментарии для неё, в комментариях хочу указывать имя автора комментария.

$Books::model()->with(‘bookComments’)->findByPk($id) работает отлично, но мне сделать еще один join: соединить booksComments с таблицей пользователей.

Как это лучше сделать?

примерно так:


with(array('bookComments', 'bookComments.author'))

ну, соответственно, настроить relations.

Спасибо. Все действительно просто.

Хотел бы уточнить еще один вопрос. Я новичок, поэтому извиняюсь заранее, если вопрос будет "тупой". Я хочу сделать возможность отвечать на комментарии, т.е. будет рекурсивная функция, которая будет выводить дерево комментариев. Где лучше хранить эту функцию(components или в классе контроллера)? и как передавать результат во вьюшку(через контроллер или вызывать в самой вьюшке)?

Выводить дерево рекурсией - моветон.

Копайте в сторону nested sets, например.

Насколько я помню, был какой-то готовый экстеншн для этого.

Спасибо большое