【发布时间】:2015-03-01 23:03:37
【问题描述】:
我正在尝试获取具有多个特定属性的产品。 我的意思是说,我想搜索那些有 "type"=rings 和 "metal"=gold 的产品
我尝试使用 IN 运算符,但它是 OR 运算的替代品。我需要 AND 运算。
product_attribute表只有product_id,attribute_id,那么在mysql中如何执行和操作
opencart 版本 1.5.4
我试过下面的查询
SELECT * FROM oc_product_attribute WHERE product_id=42 AND attribute_id=15 AND attribute_id=17
输出为空
【问题讨论】:
-
请用当前 mysql 查询、该查询的输出和所需的输出更新您的问题。
-
把
attribute_1d改成attribute_id!! -
您是否尝试对类别中的过滤器进行查询,以便它们在组之间具有“AND”逻辑,如果是这样,您将无法使用 IN() 实现它,除非您要更改基础结构。
-
只有 OR 操作,但我想要 AND 操作,因为我想显示那些具有 attribute_id 15 和 16 的产品。“基本结构”表结构
-
我听不懂你在说什么... Opencart 默认情况下在其类别过滤器中实现了 OR 逻辑。首先解释一下你是否想要在过滤器或其他部分中说的这个逻辑?其次,通过区分属性组和属性来解释你真正想要的反应。