Многоуровневая структура категорий, подкатегорий, характеристик и товаров?
Необходимо реализовать следующее:
У меня есть: категории, товары, характеристики и их значения
Собственно мои таблицы:
Категории
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шт при прокрутке страницы вниз.
Можно, услышать советы, возможно помощь в реализации? Уж больно интересно, как такого рода вещь правильно реализовать. Буду крайне признателен за любую помощь, спасибо!