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 に答える