Как стать автором
Обновить

Комментарии 4

Не понаятно зачем нужен тут eav_attribute_set когда есть catalog_category_entity? Разьве нельзя было использовать catalog_category_entity для группировки аттрибутов?

catalog_category_entity — это реестр категорий. В нём генерируются ID для отдельных экземпляров сущности типа "категория каталога". Обычно таблица-реестр содержит также и значения атрибутов сущностей в виде колонок в этой же таблице. Но ни о какой группировке на уровне структур данных в этом случае речь не идёт. Каждая строка (экземпляр сущности) содержит все колонки, которые есть в таблице.


Теоретически, мы можем в catalog_category_entity добавить колонку attr_group, фиксировать там имя группы набора атрибутов и программно фильтровать, какие колонки (атрибуты) показывать для каких наборов (если я правильно понял вашу мысль), но в таблице всё равно каждая строка будет содержать null для неиспользуемых данным набором атрибутов колонок, и для неё будет зарезервировано место на диске.


Другими словами в таблице на 500 колонок для каждой строки место на диске выделяется на все 500 колонок, даже если по факту в данной строке всегда будет использоваться всего 10 колонок.

к примеру есть категория одежда (таблица catalog_category_entity), есть продутк: платье (catalog_product_entity), категория этого продукта: одежда, есть атрибуты продукта: вид, цвет (eav_attribute), значения аттрибутов: узкий, красный (catalog_product_entity_text). Я правильно описал таблицы? Как я понимаю атрибуты завмисят от категорий товара, в моем примере категория товара ожеда, соответственно когдая я добавляю новый товар, аттрибуты должны сформироваться от выбранного категория.
Не могли бы описать структуру базы данных товаров и категорий на примере?

Вы правильно понимаете и ваш подход имеет право на существование. Я просто описал EAV-структуру данных, которая реализована в Magento 2. Одна из многих.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории