Magento:ResourceModels引发异常

Magento:ResourceModels引发异常,magento,Magento,我试图在一个块上显示当前正在查看的产品的总销售额,到目前为止,在stackoverflow线程的帮助下: $product = Mage::registry('current_product')->getId(); $productID = Mage::getModel('catalog/product')->load($product)->getId(); $productReport = Mage::getResourceModel('reports/product

我试图在一个块上显示当前正在查看的产品的总销售额,到目前为止,在stackoverflow线程的帮助下:

    $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  

如果我直接传递$product,也会发生这种情况,但两者都是字符串。我不知道如何获取应该传递给addAttributeToFilter方法的对象,或者它是否应该与字符串参数一起工作。

如果不亲自尝试,我怀疑您需要通过
实体id
进行过滤(您的第二行是多余的)

编辑:产品和类别集合也有用于此目的的
addIdFilter()
方法,例如
->addIdFilter($product->getId())


有关更多详细信息,请参见
Mage\u Catalog\u Model\u Resource\u Product\u Collection::addIdFilter()

不是更好,只是不同而已:)
$product = Mage::registry('current_product');
$productReport = Mage::getResourceModel('reports/product_sold_collection')
    ->addAttributeToFilter('entity_id', $product->getId())
    ->addOrderedQty();
$qty = $productReport->getFirstItem()->getOrderedQty();