товаров, в ней есть поля id и parentId. структура древовидная - то есть parentId ссылается на id в этой же таблице. Есть таблица с товарами с полем catId - ссылкой на таблицу с категориями.
каким образом можно для категории с id = N выбрать все товары всех детей.
или такой вопрос лучше в sql группах искать?
Селект products where cat_id in (select cat_id from categories where parent_id = n)
вложенность может быть уровня 5-6
хм, я бы тогда у детерей все дерево складывал, в колнку если такая задача есть. Вообще есть запросы с рекурсией (в мускуле, по идее в постгре тоже), но они отжирают много
угу, сейчас пробую рекурсию делать в постгре, хочу проверить как быстро это будет работать.
но в sequelize наверное засунуть это не смогу )
угу. Смотри, самый простой и быстрый варик тут будет добавить колонку three, в которой хранить всю цепочку родителей категории. из серии 1,4,8,99 потом делать выборку, по самым нижним, джойнить, и делать uniqu
как вариант читал что можно добавить таблицу со всеми перечислениями связей в таблице, но всё же попробую пока рекурсию :D
да, так можно тоже) п.с. если на уровне базы не выйдет, можно дерево обхобходить в коде и класть резалты в редись а вторым запросам собирать уже посты)
спасибо, пойду пробовать)
Я так понимаю категории не часто изменяются. Тогда nested sets то что вам нужно
загуглил и первую ссылку прочитал, если Вы про это, то я сломался https://habr.com/ru/post/63416/
в каком моменте сломались?
с ключами left right )
правда там в конце статьи про parentId скользом упомянуто...
все просто. у вас есть ид, парент ид, лево и право.
Обсуждают сегодня