Вопрос по Nested Set

Всем привет!

Появилась необходимость реализовать древовидные комментарии на сайте. Решил воспользоваться ENestedSetBehavior.

Вещь безусловно отличная, но не могу решить проблему с выводом всех комментариев. Получается слишком много запросов.

Структура такая:


Комментарий №1

-Ответ №1 на комментарий №1

--Ответ №1 на ответ №1 на комментарий №1

--Ответ №2 на ответ №1 на комментарий №1

-Ответ №2 на комментарий №1


Комментарий №2

Первоначальный запрос -


$comments = Comment::model()->roots()->findAll('publication_id=:pub_id',array(':pub_id'=>$publication->id);

Далее по идее для каждого комментария надо найти ноды - вызывать $comment->descendants (тут мы получим все дочерние комментарии).

Получается что на странице с комментариями кол-во запросов будет зависеть от кол-ва корневых комментариев…

а если к новости более 500 комментариев? 500 запросов к базе?..

Кто-нить решал проблему с обходом деревьев в yii?

Корневой комментарий должен быть на новость один.

как такое вообще может быть? 1 корневой коммент, а все остальные к нему - это не правильно… :)

или нужно делать 1 пустой коммент, как корень, а потом уже к нему все юзерские цеплять?