1

我正在尝试构建一个产品评论集合,该集合结合了来自多个不同产品的评论。我正在使用以下代码,但该集合仅返回数组中列出的第一个产品 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 的评论?

4

2 回答 2

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();
于 2012-08-01T21:52:07.790 回答
1

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

于 2012-08-01T20:38:39.837 回答