Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Какую структуру выбрать для категорий, вроде как есть:
Adjacency List, Matherialized Path, Nested Set и Closure Table.
Количество категорий будет не очень большим, поэтому думаю остановиться на Adjacency List. Возьмем простейший пример - блог, где у постов будет cat_id - id категории. Для категорий тогда будет такая структура:
id,
parent_id,
cat_title,
cat_url,
order
Категорий думаю будет около 100, ну максимум 200. Разумно ли использовать Adjacency List или выбрать другую структуру? Также интересует, что выбрать в дальнейшем для комментариев?
Для Laravel нашел etrepat/baum - для Nested Sets, franzose/ClosureTable - для ClosureTable. Есть ли какой-нибудь пакет для Adjacency List?
Изменено Johnson (09.04.2015 11:15:51)
Не в сети
да не нужны AL никакие пакеты. просто задаёшь отношение один-ко-многим children для модели на саму себя и выбираешь потом PHP\App\Category::with('children', 'children.children', 'children.children.children', 'children.children.children.children')->get()
с количеством детей в зависимости от максимальной степени вложенности и получаешь сразу готовое дерево.
Не в сети
Понятно, а для коментов тоже такую структуру брать за основу?
Не в сети
видишь, с категориями такое запросто прокатывает потому что их обычно мало и меняются они редко. сотню-другую категорий быстрее вытянуть одним запросом, положить в кэш и оттуда потом брать. с комментариями всё может быть наоборот. если есть вариант сделать а ля фейсбук, когда уровень вложенности не превышает двух — можно и AL сделать, иначе наверное надо уже как-то иначе. а вообще если нет какого-то забубённого макета от дизайнера, я бы поставил disqus — работает на 5+, всё умеет, заказчику можно намекнуть, что ему важнее — шашечки или ехать. )
Не в сети
Спасибо
Не в сети
Страницы 1