過濾集合

Magento 有一套強大的方法來過濾集合。由於集合中可以包含兩種型別的物件,因此我們必須首先確定我們正在使用哪種型別的資料,然後才能對其進行過濾。Magento 為產品和類別等實體實施 EAV 資料模型。如果我們過濾 EAV 物件的集合,則有一組不同的方法可供使用。

在 Magento 中,訂單不會儲存為 EAV 物件。這使得訂單集合成為過濾基本集合的一個很好的示例。

$collection_of_orders = Mage::getModel('sales/order')->getCollection();
$collection_of_orders->addFieldToFilter('status','processing');

如果我們檢視產品系列,我們可以看到產品儲存在 EAV 資料模型中。我們也可以輕鬆地按 EAV 屬性進行過濾。

$collection_of_products = Mage::getModel('catalog/product')->getCollection();
$collection_of_products->addAttributeToFilter('visible',1);