Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 05.05.2019 18:06:18

Как лучше сделать варианты продуктов Laravel

У кого есть опыт, подскажите как лучше реализовать продукты из вариантами.
Хотелось бы чтобы в админке было похожее на WooCommerce из Wordpress но чтобы удобно было добавлять много варантов через Excel. Чтобы таблица была не сильно замудренная. Пока что дошел до такого.
В админке меню, похоже на Woocommerce

OzQGF.jpg

У Woocommerce есть такая штука где можно например из 4 вариантов цвета и 4 вариантов размера создать сраза 16 вариантов товара. Не понимаю как это реализовать на PHP.
Вот скрин что у меня в БД.

s6I2N.jpg

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

Не в сети

#2 05.05.2019 22:08:42

TrueKanonir
Откуда: Ташкент
Сообщений: 201

Re: Как лучше сделать варианты продуктов Laravel

Я это делаю так (структура бд):
Основная таблица с товарами
products
- id
- sku
- name
...

Таблица с вариантами товара (один вариант может содержать от 1го до N комбинаций).
К примеру Размер - XL, Цвет - Красный.
product_variations
- id
- product_id
- quantity
- price
- sku
...

А тут сами компинации. Variation_id - ид варианта товара, а attribute_id - ид атрибута (Цвет, размер и тд)
product_variation_combination
- id
- attribute_id
- variation_id


TG: @TrueKanonir

Не в сети

#3 05.05.2019 22:14:02

Re: Как лучше сделать варианты продуктов Laravel

А если у Вас в базе данных 4 цвета и 4 размера.
При этом получается 16 вариантов.
Вы по одному каждый вариант в БД пишете?
Можно ли сделать так чтобы в БД сразу создались вме комбинации, тоесть на основании 2ух столбцов создался третий стобец в котором будут все комбинации вариантов из первых двух?

Не в сети

#4 05.05.2019 22:28:12

TrueKanonir
Откуда: Ташкент
Сообщений: 201

Re: Как лучше сделать варианты продуктов Laravel

  1. А если у Вас в базе данных 4 цвета и 4 размера

То создается 16 вариантов. Если 4 цвет, 4 размера, 4 еще чего то, то соответственно 64 варианта будет.

  1. Вы по одному каждый вариант в БД пишете?

Нет, при добавлении товара я вывел все атрибуты и их значения. То есть все цвета, все размеры, все типы воротников, и тд. Затем выбираю нужное (чекбокс), жму генерировать, и создаются варианты с комбинациями. Допустим я выбрал размеры: S,M,L,XL и цвета: Красный, синий, черный, желтый, и тип воротника: V-образный, и еще 3 какие то типа. В итоге получу 64 варианта к одному товару.

  1. Можно ли сделать так чтобы в БД сразу создались вме комбинации, тоесть на основании 2ух столбцов создался третий столбец в котором будут все комбинации вариантов из первых двух

Это так и работает. Я взял эту структуру бд с престашоп.
Вот пример как это работает http://bo.demo.prestashop.com/demo/index.php/product/form/2#tab-step3
(Авторизуйтесь)

Изменено TrueKanonir (05.05.2019 22:30:48)


TG: @TrueKanonir

Не в сети

Подвал раздела