@Redproxima
Студент технического ВВУЗ'а

Как хранить свойства товаров разного рода?

Имеется интернет магазин по продаже строй.материалов. Следовательно, такие свойства как "Код товара", "Страна", "Бренд" и "Производиель" совпадают у всех, а дальше - разные: от теплопроводимости и кислотостойкости у кирпичей, заканчивая "Типом топлива" для дымоходной системы.
У каждого товара есть подгруппа, а уже у конкретной подгруппы свой набор характеристик. Сущность товар, поместил в нее одинаковые для всех товаров товаров характеристики и добавил туда же код подгруппы. Теперь, согласно логике, необходимо как-то конкретному товару назначать конкретный вид характеристик пользуясь ID_подгруппы. Для кирпичей свои характеристики, для изоляции свои. Вот тут у меня и затык, я в упор не понимаю, как из таблиц, например "Подгруппы_Характеристики", указать сослаться на конкретную таблицу с характеристиками для конкретного товара. Это делается через третью таблицу с отношением "Многие ко многим"?
spoiler
637eb03ccadd5647925797.jpeg
  • Вопрос задан
  • 175 просмотров
Пригласить эксперта
Ответы на вопрос 1
hint000
@hint000
у админа три руки
В принципе есть решение: EAV https://en.wikipedia.org/wiki/Entity%E2%80%93attri...
https://designpatternsphp.readthedocs.io/ru/latest...
И есть статья про то, почему EAV - это плохо: https://ptolmachev.ru/perevod-cybertec-dizajn-sush... (там же в конце упомянуто альтернативное решение проблемы).

EAV - это такая "последняя надежда", когда долго думали и пытались придумать что-то лучше, но по каким-то причинам больше ничего не подошло.
Ответ написан
Ваш ответ на вопрос

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

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