我正在尝试为 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')
这没有任何意义。我不知道应该如何更改我的数据库结构以使动态过滤成为可能。我该如何解决这种情况?谢谢你。