Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

многоуровневые комментарии
http://forum.kohanaframework.su/viewtopic.php?f=31&t=582
Страница 1 из 1

Автор:  AlleeX [ 11 мар 2013, 14:44 ]
Заголовок сообщения:  многоуровневые комментарии

Всем привет. Недавно перешел на программирование по концепции MVC и возник вопросик.
Делаю многоуровневые комментарии и раньше делал так (просто php, без mvc) -
1. выводил основные комменты
2. потом у каждого коммента смотрел, есть ли вложенные комменты, если есть то делал запрос и по id основного выводил их
Вопрос- как это правильно реализовать на MVC?
делаю первый запрос, передаю результат в виде массива (объекта) в представление.
в представлении перебираю его и .....
как мне потом правильно, если есть комменты нижнего уровня сделать запрос??
как-то в контроллер передать id основного коммента, или изначально как-то в контроллере это все организовать??

Автор:  Rush64 [ 11 мар 2013, 16:58 ]
Заголовок сообщения:  Re: многоуровневые комментарии

потом у каждого коммента смотрел, есть ли вложенные комменты, если есть то делал запрос и по id основного выводил их
жутковато. слишком много запросов может получиться. проще делать 1 запрос и потом форматировать ответ с помощью итераций.
гуглите древовидная структура и итерация

Автор:  AlleeX [ 12 мар 2013, 00:51 ]
Заголовок сообщения:  Re: многоуровневые комментарии

Rush64 писал(а):
потом у каждого коммента смотрел, есть ли вложенные комменты, если есть то делал запрос и по id основного выводил их
жутковато. слишком много запросов может получиться. проще делать 1 запрос и потом форматировать ответ с помощью итераций.
гуглите древовидная структура и итерация


почему много запросов? максимум 4, если уровень вложенности 4.
Или вот вот еще пример. Вывожу какие нибудь данные и исходя из их значений (перебирая их) делаю какую нибудь логику, например например: если к компьютеру привязаны комплектующие вывожу их (делая другой запрос) и тд

Автор:  qed [ 12 мар 2013, 01:50 ]
Заголовок сообщения:  Re: многоуровневые комментарии

AlleeX писал(а):
почему много запросов? максимум 4, если уровень вложенности 4.

Это только для одной ветки дерева:)
Допустим, у нас есть двадцать комментов и по одному ответу на каждый коммент, то есть 2 уровня вложенности.
Вопрос1
- Ответ1
Вопрос2
- Ответ2
...
Вопрос20
- Ответ20
Тут у вас получится 1 запрос для первого уровня и ещё 20 запросов для каждого подуровня. Представьте, что будет для 4-х уровней, а если ещё в комментах начнётся срачег, забросаете базу запросами:). Всё же лучше 1 запрос за всеми данными и по ним строить дерево. По поводу построения дерева можно даже на этом форуме поискать, кто-то и где-то выкладывал свои примеры.

А привязка комплектующих к компьютеру решается тоже одним запросом с join-ом. Хотя всё зависит от конкретной задачи и структуры базы, но скорее всего для каждого компьютера делать отдельный запрос не придется.

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/