Русскоязычный форум, посвященный фреймворку 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/ |