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

Я хотел бы выбирать товары по нескольким 9X_php-fpm критериям из разных атрибутов.

Я знаю, как 9X_java-collections-api использовать $collection->addAttributeToFilter('someattribute', array('like' => '%'));

Но я бы хотел использовать 9X_magento-admin несколько атрибутов для условия OR.

Нравится:

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

ИЛИ

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

Чтобы 9X_php.ini получить товары, для которых для 'someattribute' ИЛИ 'otherattribute' установлено 9X_magento-catalog значение 'value'

Возможно ли это?

27
0
4
Общее количество ответов: 4

Ответ #1

Ответ на вопрос: addAttributeToFilter и условие OR в коллекции Magento

Да, это так.

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

9X_php.ini

63
2

  • Спасибо, что заметили @ahnbizcad, этот пост очень старый. Magento измен ...

Ответ #2

Ответ на вопрос: addAttributeToFilter и условие OR в коллекции Magento

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

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

13
0

Ответ #3

Ответ на вопрос: addAttributeToFilter и условие OR в коллекции Magento

Еще одна вещь, на которую следует обратить 9X_php5 внимание, чтобы достичь "ИЛИ":

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

4
0

Ответ #4

Ответ на вопрос: addAttributeToFilter и условие OR в коллекции Magento

Для addAttributeToFilter:

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

9X_php-fpm

2
0