Предположу, что в базе что-то не так, ибо у меня этот запрос отрабатывает корректно на такой же связи
Еще предположу, что так делать, category_id и subcategory_id, не стоит. Во-первых, ограничивает глубину вложенности, во-вторых, заставляет контролировать пересечение категорий с подкатегориями. Лучше вложенность на стороне категорий реализовывать, а товару отдавать уже его родительскую. P.S.: это справедливо, если у Вас не общие подкатегории во всех категориях.
подкатегории могут быть общими для категорий, думал лучший вариант, а можно более детальнее о твоем варианте?
Если общие то да, так пойдет. Но тут надо смотреть по проекту. Обычно же категории имеют собственную иерархию, то есть что-то типа parent_category_id, который ссылается на другую категорию, так может быть бесконечная вложенность (если null, то это корень), а у товара category_id последней категории в цепочке.
Обсуждают сегодня