Как правильно организовать фильтрацию товаров?

Рейтинг: 0Ответов: 2Опубликовано: 22.09.2014

Здравствуйте!
Сейчас решил написать ИМ под личные потребности, пока почти ничего не реализовал, все проходит на стадии проектирования. Вот возникла проблема, не знаю, как правильно реализовать модуль фильтра товаров.

Думаю так:
1) таблица (Характеристики).
Структура: id, name (название), value (возможные характеристики пример хранения: new|old|b/y)

2) таблица товаров. В отдельную колонку добавить характеристики и хранить в json-формате характеристика: значения.

Вот теперь сам вопрос: как правильно организовать sql-запрос, чтобы не было по ресурсам сильно затратно?

Ответы

▲ 1Принят

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

Можно следовать одному правилу - если по характеристике будет вестись поиск, фильтр - то ее в основную табл параметров, если же поиск и фильтр не нужен - тут можно и EAV применить , или тупо все значения в поле примечание записать - к примеру:

длина - 4,5 см, ширина - 4 см

▲ 0

Установите несколько разных CMS интернет-магазинов и просмотрите, как у них реализовано. Зачем придумывать то, что уже придумано до нас? Технологии фильтрации товаров уже объезжены на многих системах.