Intereting Posts

addAttributeToFilter и условие OR в коллекции Magento

Я бы хотел выбрать продукты в зависимости от нескольких критериев от разных атрибутов.

Я знаю, как пользователю $collection->addAttributeToFilter('someattribute', array('like' => '%'));

Но я бы хотел использовать несколько атрибутов для условия ИЛИ .

Подобно:

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

ИЛИ

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

Чтобы получить продукты, которые либо «someattribute», либо «otherattribute» установлены на «value»,

Является ли это возможным?

да.

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

Если вы хотите использовать то же самое для функции addFieldToFilter для коллекций, которые не используют EAV, вы можете использовать следующий формат:

 $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']]);