Have you ever wanted to add a condition (where) in a Magento query?
Usually you'll see queries like this:
$_products = Mage::getModel('catalog/product')->getCollection();
Code language: PHP (php)
You can add conditions like this:
$_products = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('sku', array('like' => 'Example%'))->load();
Code language: PHP (php)
Here's the list of conditional tags you can use in your queries:
Equals
$_products->addAttributeToFilter('status', array('eq' => 1));
Code language: PHP (php)
Not Equals
$_products->addAttributeToFilter('sku', array('neq' => 'product-test-sku'));
Code language: PHP (php)
Like
$_products->addAttributeToFilter('sku', array('like' => 'UX%'));
Code language: PHP (php)
Not Like
$_products->addAttributeToFilter('sku', array('nlike' => 'err-prod%'));
Code language: PHP (php)
In
$_products->addAttributeToFilter('id', array('in' => array(1,2,24)));
Code language: PHP (php)
Not In
$_products->addAttributeToFilter('id', array('nin' => array(1,2,24)));
Code language: PHP (php)
null
$_products->addAttributeToFilter('short_description', 'null');
Code language: PHP (php)
Not NULL
$_products->addAttributeToFilter('short_description', 'notnull');
Code language: PHP (php)
Greater Than
$_products->addAttributeToFilter('id', array('gt' => 10));
Code language: PHP (php)
Less Than
$_products->addAttributeToFilter('id', array('lt' => 10));
Code language: PHP (php)
Greater Than or Equals To
$_products->addAttributeToFilter('id', array('gteq' => 10));
Code language: PHP (php)
Less Than or Equals To - lteq
$_products->addAttributeToFilter('id', array('lteq' => 5));
Code language: PHP (php)
Check out the Magento Wiki page about Using Collections and modifiers.