2012-03-01 63 views
0

我想顯示銷售塊在當前查看產品總數的數量,到目前爲止,我已經,用計算器線程的幫助:Magento的:ResourceModels拋出異常

$product = Mage::registry('current_product')->getId(); 
$productID = Mage::getModel('catalog/product')->load($product)->getId(); 
$productReport = Mage::getResourceModel('reports/product_sold_collection')->addOrderedQty()->addAttributeToFilter('id',$productID); 
foreach ($productReport as $product) { 
    $product1 = $product->getOrderedQty(); 
    var_dump($product1); 
} 

我能夠加載所有的銷售數量,但是當我加入addAttributeToFilter

Fatal error: Call to a member function getBackend() on a non-object in C:\wamp\www\magento\app\code\core\Mage\Eav\Model\Entity\Abstract.php on line 816 

,如果我直接傳遞$產品,都是字符串,雖然這也恰好。我不知道如何獲得我應該傳遞給addAttributeToFilter方法的對象,或者它應該如何處理字符串參數。

回答

2

沒有嘗試自己我懷疑你需要通過entity_id(和你的第二行是多餘的)過濾。

$product = Mage::registry('current_product'); 
$productReport = Mage::getResourceModel('reports/product_sold_collection') 
    ->addAttributeToFilter('entity_id', $product->getId()) 
    ->addOrderedQty(); 
$qty = $productReport->getFirstItem()->getOrderedQty(); 

編輯:產品和類別的集合也有這個目​​的的方法addIdFilter(),e.g
->addIdFilter($product->getId())
詳情請參閱Mage_Catalog_Model_Resource_Product_Collection::addIdFilter()

+0

優秀的,我失蹤entiti_id。非常感謝 – changeling 2012-03-02 17:48:17

+0

另外,謝謝@Vinai更好的方式。 – clockworkgeek 2012-03-03 11:25:19

+0

不好,只是不同:) – Vinai 2012-03-03 12:37:16