Как лучше всего хранить характеристики?
Я создаю интернет-магазин. На данный момент у модели Category есть список характеристик, свойственные товарам этой категории. При создании категории я заполняю названия характеристик, но столкнулся с проблемой заполнения значений этих характеристик. Точнее как именно это хранить? На ум приходит только одно решение, перенести этот список в модель Product. Но тогда будет дублирование, ведь у товаров одной категории одинаковые названия характеристик.
Ответы (1 шт):
Автор решения: Pavel Popov
→ Ссылка
Я бы реализовал это так:
- отдельный список характеристик(всех), содержит id и ее наименование(таб. Specifications);
- к каждой категории привязан список ее характеристик, которые мы накидываем при создании категории(связь по id характеристики)(таб. Categories-> Cat_Spec_Relations <-Specifications) так же можно в таб. Cat_Spec_Relations сразу указать дефолтные значения характеристики;
- при создании продукта, при выборе для него категории к продукту тут же добавляются привязанные к категории характеристики(таб. Products-> Prod_Spec_Relations <-Specifications) конкретные значения характеристики хранятся в таблице Prod_Spec_Relations;
Таким образом характеристики будут в одном экземпляре + удобство заполнения