Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 27 апр 2024, 22:31

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: многоуровневые комментарии
СообщениеДобавлено: 11 мар 2013, 14:44 
Не в сети
Новичок

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: многоуровневые комментарии
СообщениеДобавлено: 11 мар 2013, 16:58 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
потом у каждого коммента смотрел, есть ли вложенные комменты, если есть то делал запрос и по id основного выводил их
жутковато. слишком много запросов может получиться. проще делать 1 запрос и потом форматировать ответ с помощью итераций.
гуглите древовидная структура и итерация


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: многоуровневые комментарии
СообщениеДобавлено: 12 мар 2013, 00:51 
Не в сети
Новичок

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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: многоуровневые комментарии
СообщениеДобавлено: 12 мар 2013, 01:50 
Не в сети
Бывалый

Зарегистрирован: 02 июн 2012, 07:14
Сообщения: 69
AlleeX писал(а):
почему много запросов? максимум 4, если уровень вложенности 4.

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

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 65


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group