以下代码:
$collection->addAttributeToFilter(array(
array('attribute'=> 'someattribute','like' => 'value'),
array('attribute'=> 'otherattribute','like' => 'value'),
));
创建一个类似的查询:
where ( someattribute like 'value' OR otherattribute like 'value' )
但我怎么能在这个OR条件下添加一个AND条件?我的意思是这样的:
where ( (someattribute like 'value' AND someattribute != 'another value') OR otherattribute like 'value' )
我在构建我的集合时多次使用addAttributeToFilter,但是,我尝试使用以下代码添加上述条件:
$collection->getSelect->where( "(someattribute like 'value' AND someattribute != 'another value') OR otherattribute like 'value' )" )
但它不起作用。也许不可能使用addAttributeToFilter AS以及同一个集合的位置?
非常感谢提前
答案 0 :(得分:0)
所以,你可以在同一个magento集合上使用addAttributeToFilter和“where”。无论如何,也许它会帮助其他人,这个解决方案,但仍然想知道你是否可以使用addAttributeToFilter复制上述条件......
答案 1 :(得分:0)
根据定义:
->addAttributeToFilter(array(
array('attribute'=> 'someattribute','like' => 'value'),
array('attribute'=> 'otherattribute','like' => 'value'),
)
这是一个OR选择,使用AND:
->addAttributeToFilter(array('attribute'=> 'someattribute','like' => 'value'))->addAttributeToFilter(array('attribute'=> 'otherattribute','like' => 'value'))