Magento:从一系列产品ID构建评论集合

时间:2012-08-01 20:23:22

标签: magento magento-1.7

我正在尝试构建一个产品评论集合,该集合结合了来自多个不同产品的评论。我使用以下代码,但该集合仅返回数组中列出的第一个产品ID的评论,而不是两个产品ID。

$entity_ids = "153435, 153438";

$reviewcollection = Mage::getModel('review/review')->getCollection()->addEntityFilter('product', array('in' => $entity_ids));
$reviewcollection->addStoreFilter(Mage::app()->getStore()->getId())->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)->setDateOrder()->addRateVotes();

$_items = $reviewcollection->getItems();`

如何让集合结合多个产品ID的评论?

2 个答案:

答案 0 :(得分:6)

$entity_ids = array(153435, 153438);

$reviewcollection = Mage::getModel('review/review')->getCollection()
    ->addStoreFilter(Mage::app()->getStore()->getId())
    ->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)
    ->addFieldToFilter('entity_id', Mage_Review_Model_Review::ENTITY_PRODUCT)
    ->addFieldToFilter('entity_pk_value', array('in' => $entity_ids))
    ->setDateOrder()
    ->addRateVotes()
;

$_items = $reviewcollection->getItems();

答案 1 :(得分:1)

addEntityFilter()不接受数组。您可以尝试addFieldToFilter($ field,$ condition)或覆盖集合并编写自己的方法。或者,您可以遍历您的ID并合并结果。