2012-10-15 107 views
2

嗨我有一个脚本,选择产品。但它选择所有产品,其中有制造商3,5。它工作正常,但我想选择没有填写现场制造商的产品。我怎样才能做到这一点?Magento选择产品过滤器

$collection = Mage::getModel('catalog/product')->getCollection() 
->addAttributeToFilter('manufacturer', array(3,5)) 
->addAttributeToSelect('*'); 
+0

我不明白你到底想要什么。请详细说明你的意思是由'我想选择的产品,没有在一个领域manufacturer' – Kalpesh

+0

在我的网站上填写我有2000吨的产品,但只有1800年有补制造商,但我想选择哪一个还没有填写制造商 –

+0

喔OK产品。请检查我的答案。 – Kalpesh

回答

4
Mage::getModel('catalog/product')->getCollection() 
    ->addFieldToFilter(
     array(
      array(
       'attribute' => 'manufacturer', 
       'null' => 'null' //this value don't matter 
      )  
     ) 
    ) 
    ->addAttributeToSelect('*'); 
+0

Null工作正常。感谢您的回复 –

+0

@PatrikvanDendis很高兴!请接受答案,如果它帮助你解决。 – Kalpesh

2

使用null操作:

$collection = Mage::getModel('catalog/product')->getCollection() 
    ->addAttributeToFilter('manufacturer', 'null') 
    ->addAttributeToSelect('*'); 

还是equals操作:

$collection = Mage::getModel('catalog/product')->getCollection() 
    ->addAttributeToFilter('manufacturer', array('eq' => '')) 
    ->addAttributeToSelect('*');