Структура комбинаций товаров в БД

Обсуждаем, как правильно строить приложения
Ответить
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Структура комбинаций товаров в БД

Сообщение Йож »

Добрый день!
Подскажите, как лучше поступить, может, кто-то сталкивался.

Вот тема, близкая к моему вопросу:
https://toster.ru/q/16320

Задача:
Есть товары, и у товаров есть свойства:
Главные: объем и цвет.
Остальные: еще десятка два.

Каждый товар имеет свой артикул, цену и наличие, в зависимости от объема пачки и цвета.

Нужно вывести в категориях только главное наименование товара, а внутри карточки товара вывести уже все варианты товара с разным объемом и цветом.
=================
1 вариант: можно хранить главный товар - остальные виртуальные, которые формируем из массивов возможных объемов и цветов.
Не подходит. Т.к. артикул разный, цена обновляется через импорт CSV.

2 вариант: Хранить все товары с артикулом, иметь главный товар - без объема и цвета, остальные как бы вложенными делать через parent_id и выводить без проблем. Но это лишние поля - даже не товары в таблице products.

3 вариант: Сделать отдельную таблицу product_group - и там хранить группирующий заголовок и slug. И при выводе в разделе группировать по группе.
Минусы - для товаров, которые не имеют товаров с характеристиками - единичный товар - не будет группы - как их выводить - как товар? Путаница.
И второй: ограниченный набор параметров для вариаций товаров.

В общем, задумался.
Подскажите возможное грамотное направление.

По сути задача не редкая...

Спасибо.
Аватара пользователя
SiZE
Сообщения: 2813
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: Структура комбинаций товаров в БД

Сообщение SiZE »

Как вариант, подсмотрите реализацию в opencart.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Структура комбинаций товаров в БД

Сообщение zelenin »

ну есть goods, есть goods_variant, продаем последнее. Я так понимаю, это ваш третий вариант. При импорте сразу генерируем все необходимые варианты - никаких виртуальных или отдельных goods.
У меня на работе такая же структура почти: товар/goods => предложение партнера/offer => вариант предложения/offer_variant. Т.е. у одного товара может быть несколько предложений от наших разных партнеров, и каждое предложение имеет свой вариант по цвету, размеру, полу (или дефолтный, если признаков нет).
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Структура комбинаций товаров в БД

Сообщение Йож »

http://woo.zp.ua/opdoc/articles_admin/w ... roduct.png
Насколько я понял, opencart содержит только список опций и дает их просто выбирать. Никаких индивидуальных артикулов товаров и цен...
(может, схема старая?)
----
Александр, спасибо за поддержку 3 варианта!
Именно в таком направлении и думал.. Уже в голове все выстроилось, сейчас буду реализовывать.

Единственное - вопрос. Если товар без вариантов - то запись только в goods будет? Это я за выборку и сортировку беспокоюсь (получается тогда надо будет из двух таблиц брать). Если я, конечно, правильно понял схему..
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Структура комбинаций товаров в БД

Сообщение zelenin »

Йож писал(а): 2017.03.29, 09:56 Единственное - вопрос. Если товар без вариантов - то запись только в goods будет? Это я за выборку и сортировку беспокоюсь (получается тогда надо будет из двух таблиц брать). Если я, конечно, правильно понял схему..
вариант создаем всегда.
Аватара пользователя
Йож
Сообщения: 574
Зарегистрирован: 2015.08.26, 03:05

Re: Структура комбинаций товаров в БД

Сообщение Йож »

Понял, спасибо за советы! Изображение
Ответить