|
|
|
Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Хочу написать простой интернет-магазин (на Yii, если это имеет какое-то значение). Разумеется, у товаров должны быть произвольно добавляемые поля, для чего используется паттерн Entity-Attribute-Value. Как правильно сделать так, чтобы типы полей привязывались к категориям, а значения - к конкретным товарам? Т.е., допустим, админ сайта, создавая карточку товара, выбирает категорию (допустим, грубо говоря, "жесткие диски"), и появляются поля, специфичные для данной категории ("объем", "скорость вращения шпинделя" и т.д.), и заполняются конкретно для этого товара. А названия/типы полей должны указываться при создании/редактировании категории, а не товара. На приложенной диаграмме текущая структура БД, сомневаюсь, что она правильная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 19:38 |
|
||
|
Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
|
|||
|---|---|---|---|
|
#18+
zugo, ИМХО, две таблички справа - лишние. Лучше дополнить items_fields, если надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2015, 20:50 |
|
||
|
Как при использовании EAV сделать добавление полей по категориям, а не по сущностям?
|
|||
|---|---|---|---|
|
#18+
И в чем проблема ? Следует сделать промеж.таблицу ID атрибута/тип сущности/подтип сущности . Где: * тип сущности = тип документа(товар, контрагент, накладная и т.д.). * подтип сущности = это группа товара(для товара). Для контрагента - физлицо/юрлицо. И в таком же духе для каждого типа сущности. Тогда один и тот же атрибут можно будет применять в неск. группах товара и даже разных сущностях. Третий уровень иерархии (под-под-тип) потребует еще одно поле в промежуточной таблице. Если некий атрибут будет у всех товаров, то его следует привязать ко всем без исключения группам товара. зы: схему не смотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2015, 10:35 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=23&tid=1540634]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 12ms |
| total: | 133ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...