trevoga_su
@trevoga_su

Как сделать ИМ с товарами-комплектами?

Пишу эдакий недомагазин. Расширяю старый сайт..

В магазине кроме товаров будут также присутствовать комплекты товаров.
Изначально планировал, что комплект - это тот же товар, только с помощью таблицы связи знает о своих компонентах комплекта (таких же товарах). Ну и хранит скидку, которая бы давалась на сумму компонентов комплекта.

Т.е. по сути разница между товаром и комплектом исключительно том, что комплект является группирующим звеном нескольких товаров:

# любой товар может стать комплектом
create table item (
id int unsigned not null primary key auto_increment,
title varchar(255) not null,
description text not null,
price smallint unsigned not null,
count smallint unsigned not null,
is_package tinyint unsigned not null default 0,
);

# компоненты комплекта
create table item_component (
item_id int unsigned not null primary key auto_increment, # ссылка на главный товар-комплект
component_id int unsigned not null primary key auto_increment, # ссылка на компонент комплекта
discount tinyint unsigned not null default 0 
);


И тут заказчик сам не знает что хочет... - комплект товаров есть смысл разбивать как я выше описал, или нет?
Можно тупо называть товар комплектом и продавать, т.е. на уровне СУБД он будет обычным товаром.
Есть смысл делать для комплектов такое как я описал выше или ограничиться просто названием товара "Комплект"?

ну и доводы за/против послушаю.
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 3
@dmitryKovalskiy
программист средней руки
Если у вас просто каталог, то можно иметь такой товар как bundle, можно даже такую категорию завести.Но если у вас есть учет кол-ва товара - нужно заводить отдельную сущность.

upd: Тут еще встает вопрос о кол-ве таких комплектов. Не хочется ради 5-10 строк плодить сущности и join-запросы
Ответ написан
sabramovskikh
@sabramovskikh
Делать комплекты, в комплект можно добавить любое количество любых товаров и указать скидку на эти товары (можно цену на каждый товар отдельно или полную стоимость всего комплекта). Когда человек покупает комплект, в корзину падают эти товары, в корзине тоже отображается как комплект, но в коде подставляются товары по ИД товара.
Ответ написан
Комментировать
@Noob_001
[товар] - [цены в датах] - [группа скидок] (сроки, количество, общая цена, дата с, дата по) - [варианты комплектов] (через набор скидок + цена с учетом скидки в группе) + [дополнительные бонусы ... есть\нету. или дополнительные товары в виде бонуса]
где-то еще ... постоянные клиенты, карты скидок сети, место хранения, сроки поставки (комплектов или товара) и т.п.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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