ユーザーがフィルターを追加し、それらをカテゴリに割り当て、製品にフィルター値を割り当てることができるopencartの動的製品フィルタリングを作成しようとしています。
現在、これらのmysqlテーブルがあります:
- フィルタ - ID NAME
- Filters_categories - ID FILTER_ID CATEGORY_ID
- Filters_values - ID FILTER_ID VALUE
- Filters_products - ID FILTER_ID VALUE_ID PRODUCT_ID
問題は、次のような MySQL クエリを取得するため、複数のフィルターがアクティブになっていると製品を取得できないという構造にあります。
SELECT product_id FROM Filters_products WHERE ((name_id='1' OR name_id='2') AND filter_id='1') AND ((name_id='3' OR name_id='4') AND filter_id='2')
そして、それは意味がありません。データベース構造を変更して動的フィルタリングを可能にする方法がわかりません。どうすればこの状況を解決できますか? ありがとうございました。