- //等于 Equals: eq
- $_products->addAttributeToFilter('status', array('eq' => 1));
- //不等于 Not Equals - neq
- $_products->addAttributeToFilter('sku', array('neq' => 'test-product'));
- //Like - like
- $_products->addAttributeToFilter('sku', array('like' => 'UX%'));
- //Not Like - nlike
- $_products->addAttributeToFilter('sku', array('nlike' => 'err-prod%'));
- //In - in
- $_products->addAttributeToFilter('id', array('in' => array(1,4,98)));
- //Not In - nin
- $_products->addAttributeToFilter('id', array('nin' => array(1,4,98)));
- //NULL - null
- $_products->addAttributeToFilter('description', 'null');
- //Not NULL - notnull
- $_products->addAttributeToFilter('description', 'notnull');
- //大于 Greater Than - gt
- $_products->addAttributeToFilter('id', array('gt' => 5));
- //小于 Less Than - lt
- $_products->addAttributeToFilter('id', array('lt' => 5));
- //大于等于 Greater Than or Equals To- gteq
- $_products->addAttributeToFilter('id', array('gteq' => 5));
- //小于等于 Less Than or Equals To - lteq
- $_products->addAttributeToFilter('id', array('lteq' => 5));
实例:
- $collection->addFieldToFilter('max_item_count',
- array(
- array('gteq' => 10),
- array('null' => true),
- )
- )
- ->addFieldToFilter('max_item_price',
- array(
- array('gteq' => 9.99),
- array('null' => true),
- )
- )
- ->addFieldToFilter('max_item_weight',
- array(
- array('gteq' => 1.5),
- array('null' => true),
- )
- );
调试SQL查询
有两种方法调试加载在Magento集合时正在执行的查询。
- // Method 1
- Mage::getModel('catalog/product')->getCollection()->load(true);
- // Method 2 (Quicker, Recommended)
- $collection = Mage::getModel('catalog/product')->getCollection();
- echo $collection->getSelect();