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