axrising
@axrising

Create products with color variants?

Здравствуйте, подскажите пожалуйста как решается пободная задача в любой из sql баз данных?
У меня есть товар, который имеет 8 расцветок, соответсвенно я в заблуждении, потому что создавать отдельный товар для каждой разцветки будет неправильно, ибо все данные дублируются, а меняется только цвет(картинка) и пре выводе всех товаров будет показыватся множество одинаковых товаров з разной расцветкой, а мне нужно чтобы был лишь один который вмещал в себя все цвета и каждый цвет имел свой pk по которому можно было понять какой цвет в ulr или корзине.
Буду очень признателен за ответ
615d7595996fc146495630.png
  • Вопрос задан
  • 84 просмотра
Пригласить эксперта
Ответы на вопрос 2
Zoominger
@Zoominger
System Integrator
Создаёте запись "krossovok_abibas_air_max_97" в таблице "tovari" с id, скажем, "1844".
Создайте в отдельной таблице (скажем, "colors") записи вида:
"krasniy;1844"
"siniy;1844"
"beliy;1844"
В списке товаров выводите только "krossovok_abibas_air_max_97", а когда проваливаетесь в карточку товара, то уже там подтягиваете цвета по ID этого товара.
Суть поняли?
Ответ написан
Всё дело в понимании предметной области.

Выходит, что "продукт" в вашем случае - это не один товар, а множество товаров с подобными характеристиками. Вы можете называть "продуктом" то, что выводите на основной странице, а "товаром" - конкретную разновидность продукта, и именно с "товаром" вести ценнобразование, учёт остатков и прочее.

Ну а дальше всё по классике - например, можно сделать составной первичый ключ у товара, частью которого является ключ продукта. Тут уже всё зависит от того, какая у вас СУБД и насколько в ней удобно работать с нормальными ключами.

Разумеется, это только один из вариантов решения. И только один из аспектов, т.к. встанет вопрос - как хранить различные поля в описании, немного разные в разных продуктах? Ну и прочее.
Ответ написан
Ваш ответ на вопрос

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

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