Задать вопрос

Как правильно сделать фильтр для интернет магазина?

Добрый день

Имеются следующее таблицы:

Таблица ELEMENTS,которая содержит название и описание товара и т.д.
Таблица OFFERS в которой содержатся торговые предложения: element_id, title, price и т.д. (у товара может быть несолько вариантов с разными ценами).
Таблица FEATURES содержит свойства: id, title.
Таблица ELEMENTS_FEATURES, которая содержит значения свойств элемента: element_id, feature_id, value.

Как правильно соединить таблицы чтобы можно было организовать фильтр товаров по нескольким свойствам сразу?
Получается нужно соединить ELEMENTS и ELEMENTS_FEATURES, но у меня получился только поиск по одному свойству.
Может значение свойств лучше хранить в виде текста в таблице ELEMENTS, и выполнять поиск через регулярное выражение?

Спасибо
  • Вопрос задан
  • 3195 просмотров
Подписаться 5 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Можно, используя join'ы
SELECT * FROM ELEMENTS LEFT JOIN ELEMENTS_FEATURES ON ELEMENTS.ID = ELEMENTS_FEATURES.ELEMENT_ID JOIN FEATURES  ON FEATURES.ID = ELEMENTS_FEATURES.FEATURES.ID WHERE <УСЛОВИЯ ПОИСКА>
Ответ написан
Rpsl
@Rpsl
Кратко о себе
Перегоняйте все объекты в Sphinx и делайте поиск по нему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽