How to Apply OR Conditions to Collection in Magento 2

 Steps to Apply OR Conditions to Collection in Magento 2:

Step 1:  Apply OR condition for Magento 2 addAttributeToFilter collection


protected  $_productCollection;

 

public function __construct(

   \Magento\Catalog\Model\ResourceModel\Product\Collection $productCollection)

{

     $this->_productCollection = $productCollection;

}

    

public function getProductCollection()

{

     $this->_productCollection->addAttributeToFilter(array(

     array(

          'attribute' => 'sku',

          'like' => '24MB%’),

          array(

               'attribute' => 'type_id',

               'eq' => 'simple')

          ));

 

     echo $this->_productCollection->getSelect();

}

Output:


SELECT `e`.* FROM `catalog_product_entity` AS `e` WHERE ((`e`.`sku` LIKE '24MB%') OR (`e`.`type_id` = 'simple'))



Step 2:  Apply OR condition for Magento 2 addFieldToFilter collection


protected  $_orderCollection;

 

public function __construct(

   \Magento\Sales\Model\ResourceModel\Order\Collection $orderCollection)

{

     $this->_orderCollection = $orderCollection;

}

    

public function getOrderCollection()

{

     $this->_orderCollection->addAttributeToFilter(array(

     array(

          'attribute' => 'sku',

          'like' => '24MB%’),

          array(

               'attribute' => 'type_id',

               'eq' => 'simple')

          ));

 

     echo $this->_orderCollection->getSelect();

}

Output:


SELECT `main_table`.* FROM `sales_order` AS `main_table` WHERE ((`customer_is_guest` = 1) OR (`status` = 'pending'))

Comments

Popular posts from this blog

Add Admin User name and Action name in Order Comment Section through Action Performed from Sales Order Grid in Magento 2

How to Update Product Stock Programmatically in Magento 2

How to Set and Get Cookie in Magento 2