$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image')) ->addAttributeToFilter('name', array('like' => 'EWA%')) ->load();
In the above example it is a product collection of all the product having it’s name, product url and small image loaded in it’s data array. We can further filters this collection by using the addAttributeToFilter(), I have used the like as EWA%, it will returns the only products that have name starting with EWA. As in the above example I have used the like Operators into the addAttributeToFilter, there are many operators which we can use into the addAttributeToFilter.
1. Equals: eq
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'status')) ->addAttributeToFilter('status', array('eq' => 1)) ->load();
2. Not Equals – neq
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('sku', array('neq' => 'test-product')) ->load();
3. In – in
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('id', array('in' => array(20,24,100))) ->load();
4. Not In – nin
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('id', array('nin' => array(20,24,100))) ->load();
5. Like – like
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('name', array('like' => 'EWA%')) ->load();
6. Not Like – nlike
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('name', array('nlike' => 'EWA%')) ->load();
7. NULL – null
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('description', 'null') ->load();
8. Not NULL – notnull
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('description', 'notnull') ->load();
9. Greater Than – gt
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('id', array('gt' => 10)) ->load();
10. Less Than – lt
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('id', array('lt' => 10)) ->load();
11. Greater Than or Equals To- gteq
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('id', array('gteq' => 20)) ->load();
12. Less Than or Equals To – lteq
$products = Mage::getModel('catalog/product')->getCollection() ->addAttributeToSelect(array('name', 'product_url', 'small_image', 'sku')) ->addAttributeToFilter('id', array('lteq' => 20)) ->load();
Hope this will be helpful to someone, Thanks and enjoy the Magento coding.