powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
3 сообщений из 3, страница 1 из 1
Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
    #38889975
zugo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Хочу написать простой интернет-магазин (на Yii, если это имеет какое-то значение). Разумеется, у товаров должны быть произвольно добавляемые поля, для чего используется паттерн Entity-Attribute-Value. Как правильно сделать так, чтобы типы полей привязывались к категориям, а значения - к конкретным товарам?

Т.е., допустим, админ сайта, создавая карточку товара, выбирает категорию (допустим, грубо говоря, "жесткие диски"), и появляются поля, специфичные для данной категории ("объем", "скорость вращения шпинделя" и т.д.), и заполняются конкретно для этого товара. А названия/типы полей должны указываться при создании/редактировании категории, а не товара.

На приложенной диаграмме текущая структура БД, сомневаюсь, что она правильная.
...
Рейтинг: 0 / 0
Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
    #38890027
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zugo,

ИМХО, две таблички справа - лишние.
Лучше дополнить items_fields, если надо.
...
Рейтинг: 0 / 0
Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
    #38890281
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в чем проблема ?

Следует сделать промеж.таблицу ID атрибута/тип сущности/подтип сущности .
Где:
* тип сущности = тип документа(товар, контрагент, накладная и т.д.).
* подтип сущности = это группа товара(для товара). Для контрагента - физлицо/юрлицо. И в таком же духе для каждого типа сущности.

Тогда один и тот же атрибут можно будет применять в неск. группах товара и даже разных сущностях.
Третий уровень иерархии (под-под-тип) потребует еще одно поле в промежуточной таблице.

Если некий атрибут будет у всех товаров, то его следует привязать ко всем без исключения группам товара.

зы: схему не смотрел.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]