🔥 Just Launched! Werra Premium Template for HyväSee it in Action

How to Apply OR Conditions To Collection In Magento 2

By Sanjay JethvaUpdated on Apr 25, 2025 1 min read

Magento 2 allows applying OR & AND conditions to collections in Magento 2. However, the default condition applied is AND to collections in Magento 2.

Example for AND Condition:

use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
protected $productCollectionFactory;
public function __construct(CollectionFactory $productCollectionFactory)
{
    $this->productCollectionFactory = $productCollectionFactory;
}
$collection = $this->productCollectionFactory->create();
$collection->addAttributeToSelect('*');
$collection->addAttributeToFilter([['attribute'=>'sku','like'=>'%ch%'],['attribute'=>'status', 'eq'=>'1']]);

The collection of only those products will be fetched whose (write according to the example)

SKU starts with mt and product type is simple

Method to apply OR conditions to the collection in Magento 2:

1. OR CONDITION for addAttributeToFilter filter:

use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
protected $productCollectionFactory;
public function __construct(CollectionFactory $productCollectionFactory)
{
    $this->productCollectionFactory = $productCollectionFactory;
}
$collection = $this->productCollectionFactory->create();
$collection->addAttributeToSelect('*');
$collection->addAttributeToFilter([['attribute'=>'sku','like'=> '%ch%'], 
['attribute'=>'status','eq' => '1']]);

SKU content character ch or status is 1

2. OR CONDITION for addFieldToFilter filter:

use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
protected $productCollectionFactory;
public function __construct(CollectionFactory $productCollectionFactory)
{
    $this->productCollectionFactory = $productCollectionFactory;
}
$collection = $this->productCollectionFactory->create();
$collection->addAttributeToSelect('*');
$collection->addFieldToFilter(['attribute_set_id','type_id'],[['eq'=>4],['eq'=>'simple']]
);

That’s it.

In this way, you can add OR conditions to the collection in Magento 2 using the addFieldToFilter() method.

Do share the post with Magento peeps via social media.

Thank you.

Sanjay Jethva Full Image
Article bySanjay Jethva

Sanjay is the co-founder and CTO of Meetanshi with hands-on expertise with Magento since 2011. He specializes in complex development, integrations, extensions, and customizations. Sanjay is one the top 50 contributor to the Magento community and is recognized by Adobe. His passion for Magento 2 and Shopify solutions has made him a trusted source for businesses seeking to optimize their online stores. He loves sharing technical solutions related to Magento 2 & Shopify.