Magento 1.9 – How to Get Only 5 Star Rated Reviews

magento-1.9ratingsreview

I am trying to get all the reviews for current product detail page which are 5 star rated.How are we suppose to filter ?

 $storeId = Mage::app()->getStore()->getId();
            $_product = $this->product();
             $summaryData = Mage::getModel('review/review_summary')
                    ->setStoreId($storeId)
                    ->load($_product->getId());

Best Answer

<?php
$_product = $this->getProduct();

$reviews = Mage::getModel('review/review')->getResourceCollection();

    $summaryData = $reviews->addStoreFilter(Mage::app()->getStore()->getId())
    ->addEntityFilter('product', $_product->getId())
    ->addStatusFilter( Mage_Review_Model_Review::STATUS_APPROVED )
    ->setDateOrder()
    ->addRateVotes();

foreach($summaryData as $child){

    $_votes = $child->getRatingVotes();

    if (count($_votes)){

        foreach ($_votes as $_vote){
            if($_vote->getPercent() == 100){
                echo $child->getData('review_id'); 
            }   
        }
    }
}

Using above code you can filter 5star review.