Многоуровневая структура категорий, подкатегорий, характеристик и товаров?

Необходимо реализовать следующее:
У меня есть: категории, товары, характеристики и их значения
Собственно мои таблицы:
Категории
id
title
parent
group_by

Характеристики
id
title

Значения характеристик
id
value
specification_id

Продукты
id
title
price
category

Вообще говоря, я вывожу категории с помощью рекурсии. Здесь без проблем. После этого, обычно, нажимая на категорию, нужно получить продукты. У меня другая ситуация. Мне нужно получить все значения характеристик, которые привязаны к характеристике, идентификатор которой в свою очередь указан в поле group_by таблицы с категориями. А только потом, нажимая на это значение, нужно получить товары, у которых есть выбранное значение.

Итого – это должно иметь следующий вид:

Категория
Подкатегория
Значенин 1 из характеристики(красный)
Продукты 19
Значенин 2 из характеристики(синий)
Продукты 1
Продукты 2
Продукты 3
Продукты 4
Значенин 3 из характеристики(зеленый)
Продукты 7
Продукты 6
Продукты 11

В идеале я хотел бы рекурсивно выводить сходу все категории и к ним же привязывать значения из groupBy. А при клике, на значение асинхронно подтягивать нужные товары.

Из всего выше сказанного, мне нужна еще одна таблица, где будет храниться связь между, идентификатором значения и товаром.

Для этого, есть таблица products_values
id
product_id
value_id

Но есть, одна небольшая проблемка. Я даже примерно, не представляю как правильно все это дело реализовать, используя eloquent orm. Более того, я не уверен в том, правильная ли у меня схема БД и соответствует ли она задаче.

К тому же, в одной категории, может быть очень много товаров, соответственно, будет использоваться пагинация, а точнее, товары будут загружаться, порциями по 50-100шт при прокрутке страницы вниз.

Можно, услышать советы, возможно помощь в реализации? Уж больно интересно, как такого рода вещь правильно реализовать. Буду крайне признателен за любую помощь, спасибо!
  • Вопрос задан
  • 472 просмотра
Пригласить эксперта
Ответы на вопрос 1
AndyKorg
@AndyKorg
Кнопконажиматель и припоерасплавлятель
5cd2d0d9d16fd804070610.jpeg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы