Bob*_*ing 3 filter magento magento-1.3
Magento 1.3
我正在尝试过滤productCollection中的缺货商品.使用:
->addAttributeToFilter('status',array('neq' => Mage_Catalog_Model_Product_Status::STATUS_DISABLED))
Run Code Online (Sandbox Code Playgroud)
我可以按状态过滤,但在此商店中,已启用的产品仍可以有0个数量.
使用:
->addAttributeToFilter('qty', array('gt' => 0))
Run Code Online (Sandbox Code Playgroud)
返回'qty'不是属性错误.
$this->_productCollection = $this->_productCollection->addAttributeToSelect('*')
->setStoreId($storeId)
->addStoreFilter($storeId)
->addAttributeToFilter('status',array('neq' => Mage_Catalog_Model_Product_Status::STATUS_DISABLED))
->setPageSize($this->getToolbarBlock()->getLimit());
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢.
你可以使用这样的东西:
$oCollection = Mage::getModel('catalog/product')
->getCollection()
->joinField(
'qty',
'cataloginventory/stock_item',
'qty',
'product_id=entity_id',
'{{table}}.stock_id=1',
'left'
)
->addAttributeToFilter('qty', array('eq' => 0));
Run Code Online (Sandbox Code Playgroud)
如果您根本不需要catalog/product
数据(产品ID除外),但只想知道哪些产品ID通常为零,您还可以使用:
$oCollection = Mage::getModel('cataloginventory/stock_item')
->getCollection()
->addQtyFilter('=', 0);
Run Code Online (Sandbox Code Playgroud)