Php addAttributeToFilter和/或Magento集合中的条件

Php addAttributeToFilter和/或Magento集合中的条件,php,collections,magento,attributes,Php,Collections,Magento,Attributes,我想根据不同属性的几个标准来选择产品 我知道如何使用$collection->addAttributeToFilter'someattribute',数组'like'=>'% 但是我想使用几个属性作为条件 比如: 或 获取“someattribute”或“otherattribute”设置为“value”的产品 可能吗?是的 $collection->addAttributeToFilter( array( array('attribute' => 'some

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

我知道如何使用$collection->addAttributeToFilter'someattribute',数组'like'=>'%

但是我想使用几个属性作为条件

比如:

获取“someattribute”或“otherattribute”设置为“value”的产品

可能吗?

是的

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

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

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

实现“或”的另一个目标是:

->addFieldToFilter(
     'type_id',
     ['in' => ['simple', 'configurable']]
)

对于addAttributeToFilter:

$collections = Mage::getModel('sales/order')->getCollection()
             ->addAttributeToFilter('increment_id', array('in' => $sellerIncrementIds))
             ->addAttributeToFilter('status', ['in' => ['pending','pending_seller_confirmation']]);

请注意,对于addFieldToFilter,此语法不正确,请参考该语法。您能否提供最通用的链接,人们必须在其中涉水搜索才能找到内容?感谢您注意@ahnbizcad,这篇文章非常古老。Magento已更改链接的位置。
->addFieldToFilter(
     'type_id',
     ['in' => ['simple', 'configurable']]
)
$collections = Mage::getModel('sales/order')->getCollection()
             ->addAttributeToFilter('increment_id', array('in' => $sellerIncrementIds))
             ->addAttributeToFilter('status', ['in' => ['pending','pending_seller_confirmation']]);