Комбинации атрибутов для товара

Jeysmook

Новичок
Подскажите пожалуйста как реализовать такую задачу, заранее спасибо:
Есть таблицы для реализации атрибутов. И все было бы хорошо, но нужно чтобы атрибуты были зависимы друг от друга. Т.е, если выбран атрибут Color=red, то у него могут быть размеры L,M,S, а если выбран атрибут Color=blue, то у него могут быть размеры L,M и т.д.

Я пытался сделать еще одну таблицу которая связывала бы только два атрибута products_attributes_combinations(product_attribute_id1, product_attribute_id2), но а если будет более 2-x зависимостей, то не подходит.
 

ksnk

прохожий
Jeysmook, а какая задача решается? Для задачи вывода атрибутов на сайте в карточке товаров - важна скорость, а логика - не важна. Если атрибут попал в выборку - он есть. Для задачи ввода атрибута в админке - важна логика. Причем скорость вывода уже не критична. Imho, все такие правила указания атрибутов сложны и часто меняются. Я бы просто закодировал ее(логику) прямо в коде, в секции вывода атрибутов в админке.
 
  • Like
Реакции: AmdY

Jeysmook

Новичок
ksnk, меня интересует теория по поводу реализации комбинаций атрибутов для товаров.. Т.е как мне можно реализовать комбинации атрибутов? Какой минимальный путь для достижении этой цели? Спасибо за совет по поводу скорости.
 

Тугай

Новичок
Jeysmook, зависимость же не атрибутов, а зависимость значений атрибутов.
Таблица нужна:
attribute_to_values_combinations(attributes_id1, attributes_values_id1, attributes_id2, attributes_values_id2)

как вариант в attribute_to_values добавить еще автоинкрементное поле ключ
attribute_to_values_id, и тогда attribute_to_values_combinations(attribute_to_values_id1, attribute_to_values_id2)
 
Последнее редактирование:

vasinsky

Новичок
приходилось проектировать бд под магазины - не стал ничего выдумывать и глянул в opencart или presto

если не ошибаюсь

products
pid
desc
price

atribbutes
aid
attribute

values
vid
value

options
pid - из таблицы products
aid
vid
 

AmdY

Пью пиво
Команда форума
vasinsky, включи отображение картинок в браузере, у него всё это есть и даже больше. Заодно почитай вопрос, не надо человека кормить eav, у него всё уже есть.
 

MiksIr

miksir@home:~$
Я пытался сделать еще одну таблицу которая связывала бы только два атрибута products_attributes_combinations(product_attribute_id1, product_attribute_id2), но а если будет более 2-x зависимостей, то не подходит.
У тебя и так эта связь есть. Через сами товары. Т.е. если в базе красные товары только L M S, то вот тебе и связь.
В админке как раз тут все просто. А вот на сайте могут быть достаточно сложные запросы. Тут или кешировать или смотреть в сторону специализированных БД, гугли "фасетный поиск" в общем.
 
Сверху