addAttributeToFilter 和 OR 条件在 Magento 的集合中

2022-08-30 15:51:43

我想根据来自不同属性的几个标准来选择产品。

我知道如何使用用户$collection->addAttributeToFilter('someattribute', array('like' => '%'));

但我想对OR条件使用几个属性。

喜欢:

$collection->addAttributeToFilter('someattribute', array('like' => 'value'));`

$collection->addAttributeToFilter('otherattribute', array('like' => 'value'));`

获取“某属性”“其他属性”设置为“值”的产品

可能吗?


答案 1

是的,它是。

$collection->addAttributeToFilter(
    array(
        array('attribute' => 'someattribute', 'like' => 'value'),
        array('attribute' => 'otherattribute', 'like' => 'value'),
        array('attribute' => 'anotherattribute', 'like' => 'value'),
    )
);

答案 2

如果您希望对不使用 EAV 的集合使用相同的 addFieldToFilter 函数,则可以使用以下格式:

$collection->addFieldToFilter(
array(
   'someattribute',
   'otherattribute',
   'anotherattribute',
),
array(
    array('like' => 'value'),
    array('like' => 'value'),
    array('like' => 'value'),
));

推荐