Путаница в EAV (Сущность, атрибут и значение)?


У меня есть некоторые сомнения в подслушивании. Насколько я знаю, EAV следует использовать только в том случае, если вы не уверены в количестве полей в таблице, которое может измениться в будущем. Таким образом, eav_attribute таблица содержит атрибуты, а значения хранятся в,

- eav_entity, eav_entity_int (for holding Integer values),
- eav_entity_varchar (for holding Varchar values),
- eav_entity_datetime (for holding Datetime values),
- eav_entity_decimal (for holding Decimal/float values),
- eav_entity_text (for holding text (mysql Text type) values).

Я проверил эти таблицы в установленной по умолчанию базе данных magento и в своих проектах magento (насколько я это сделал), но в этих таблицах не хранятся никакие данные. Все они пусты. Это сводит меня с ума.. Где именно использовалось подслушивающее устройство?.. Может ли любое тело объясните это на примере, пожалуйста..?

Author: Elavarasan, 2014-08-26

2 answers

Правильно.

Magento начал с этой концепции, но она была слишком медленной, поэтому они решили создать таблицы для каждого типа eav_type отдельно.

Вы найдете следующие таблицы (возможно, я забыл некоторые)

  • catalog_category_entity_*
  • catalog_product_entity_*
  • customer_entity_*
  • customer_address_entity_*

Основные данные хранятся в таблице сущностей, например customer_entity

 5
Author: Fabian Blechschmidt, 2018-08-12 13:07:36

Насколько я знаю, они оставлены для того, чтобы вы могли создавать свои собственные модели, использующие EAV. Стандартный eav в Magento, Клиенты, Продукты и т.д. имеют свои собственные таблицы.

Для атрибутов клиента каждая таблица начинается с customer_entity

 5
Author: David Manners, 2014-08-26 15:22:42