Monday 4 August 2014

Adding OR and AND query condition to collection in Magento

Getting product collection
// PRODUCT COLLECTION
$collection = Mage::getModel('catalog/product')->getCollection();
Adding AND query condition
Filtering collection to select only those products whose sku is like ‘ch’ AND status is equal to 1 (i.e. enabled status).
// AND QUERY
$collection->addAttributeToFilter('sku', array('like' => '%ch%'));
$collection->addAttributeToFilter('status', array('eq' => '1'));
Adding OR query condition
Filtering collection to select only those products whose sku is like ‘ch’ OR status is equal to 1 (i.e. enabled status).
// OR QUERY
$collection->addAttributeToFilter(array(
                array(
                    'attribute' => 'sku',
                    'like' => '%ch%'),
                array(
                    'attribute' => 'status',
                    'eq' => '1')
            ));
You may check the query statement with the following code
$collection->printLogQuery(true);
Thanks.

No comments:

Post a Comment