2014-05-07 28 views
1

我有下面的代碼加載自定義集合:Magento的addFieldToFilter上收集 - 如何獲得和WHERE子句

echo Mage::getModel("ibi/despatchqueues") 
->getCollection() 
->addFieldToFilter(
    array(
     'can_sync', 
     'is_synced' 
    ), 
    array(
     array('eq' => 1), // can_sync = 1 
     array('eq' => 0), // is_synced = 0 
    ) 
) 
->getSelect(); 

這將產生以下SQL查詢:

SELECT `main_table`.* FROM `despatchqueues` AS `main_table` 
WHERE (((can_sync = 1) or (is_synced = 0))) 

怎麼辦我更改我的addFieldToFilter,以便生成的查詢看起來像這樣:

SELECT `main_table`.* FROM `despatchqueues` AS `main_table` 
WHERE (((can_sync = 1) and (is_synced = 0))) 

回答

4

嘗試像這樣s

echo Mage::getModel("ibi/despatchqueues") 
->getCollection() 
->addFieldToFilter('can_sync', array('eq' => 1)) 
->addFieldToFilter('is_synced', array('eq' => 0)) 
->getSelect(); 

希望這有助於!

+0

哦,我看它是如何工作的。當有多個時,每個'addFieldToFilter'都充當'AND'。感謝那。 – Latheesan

+0

正確!投票也被佔用;) –