У меня есть быстрый вопрос относительно подхода к отображению продуктов в пакете электронной коммерции, который я собираю. Проблема, с которой я сталкиваюсь, заключается в том, что я хотел бы, чтобы посетители сайта сузили поиск.PHP, подход к фильтрации электронной коммерции MySQL
Например, случай использования будет:
- Посетитель в настоящее время просматривают сезон продуктов
- Он/Она должна затем иметь возможность фильтровать по категориям и марки (например, летние коллекции.) в течение этого сезона, так, например, они могут решить, что они хотят видеть только брюки из одежды Galore.
Проблема заключается в том, что выполнение одного запроса SQL для поиска продуктов, соответствующих всем трем из этих факторов (поэтому продукт находится в летней коллекции, представляет собой пару штанов и изготовлен по одежде изобилие). То, что делает это чрезмерно трудным, состоит в том, что продукты могут быть в нескольких категориях и сезонах. Таким образом, для получения правильного результата потребуется соединение безумной суммы.
Моя структура базы данных выглядит следующим образом:
product -> product_category <- category
product -> product_season <- season
product <- brand (a product can only be made by one brand)
Надежда кто-то может поделиться своей мудростью на этом ...
Ваша структура таблицы отличается неопределенной. Если product_season и product_category уже являются частью таблицы продуктов, зачем вам вообще нужно присоединяться? Я предполагаю, что они делят category_id и season_id или что-то в этом роде. Я напишу ответ в этом предположении. – James
Эй, извините, что предполагалось быть отрывочной ERD. Product_category и product_season представляют собой связующие объекты между продуктом и соответствующей таблицей соединения (например, категория или сезон). Надеюсь, что это немного облегчит. –
Вот что я думал. Я предполагаю, что они являются полями в обеих таблицах, которые одинаковы? Я не уверен. – James