Magento1 新增篩選器屬性與範圍
在Magento1裡你可以使用「addAttributeToFilter」與「addFieldToFilter」來篩選你的query結果,但是他們是在不同得場合使用。
addFieldToFilter:使用於一般的資料表
addAttributeToFilter:使用於EAV模組的資料表,例如:產品,客戶,銷售
addFieldToFilter 同樣支援以下參數
等於 => mysql “=”
$_productCollection->addAttributeToFilter(‘status’, array(‘eq’ => 1))
不等於 => mysql “!=”
$_productCollection->addAttributeToFilter(‘status’, array(‘neq’ => 1))
相似 =>mysql “LIKE”
$_productCollection->addAttributeToFilter(‘sku’, array(‘like’ => ‘test’))
不相似 =>mysql “NOT LIKE”
$_productCollection->addAttributeToFilter(‘sku’, array(‘nlike’ => ‘test’))
包含=>mysql “IN”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘in’ => arrat(‘1’,’2’,’3’)))
不包含=>mysql “NOT IN”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘nin’ => array(‘1’,’2’,’3’)))
空值=>mysql “IS NULL”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘null’ => true))
不為空值=>mysql “IS NOT NULL”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘notnull’ => true ))
大於=>mysql “>”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘gt’ => 3))
小於=>mysql “<”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘lt’ => 3))
大於等於=>mysql “>=”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘gteq’ => 3))
小於等於=>mysql “<=”
$_productCollection->addAttributeToFilter(‘entity_id’, array(‘lt’ => 3))
我們可以使用getSelect來查看我們所執行的語句
$_productCollection = Mage::getModel(‘catalog/product’)
->getCollection()
->load();
echo $_productCollection>getSelect();
以上是這次針對 addAttributeToFilter 與 addFieldToFilter 的資訊分享,若想接收最新的文章資訊,請務必訂閱我們的電子報,以及追蹤我們的臉書粉絲團,才能收到第一手的最新資訊喔!
我要留言