Question

In the below code i am getting the rating percentage .How can i get the review title, description, nickname and submitted date.

public function ProductReview()
 {
    $_productID = 70;
    $objectManager = \Magento\Framework\App\ObjectManager::getInstance();
    $_product= $objectManager->create("Magento\Catalog\Model\Product")->load($_productID);
    $_review=$objectManager->create("Magento\Review\Model\Review");
    $_reviewFact=$objectManager->get("Magento\Review\Model\ReviewFactory");
    $_reviewFact->create()->getEntitySummary($_product, 1);  
     // Below code will get the rating summary
  $rat=$_product->getRatingSummary()->getRatingSummary();
 return $rat;
 }
Was it helpful?

Solution

Please try the below code in test script in the root folder of magento2

<?php
use Magento\Framework\App\Bootstrap;
require __DIR__ . '/app/bootstrap.php';
$bootstrap = Bootstrap::create(BP, $_SERVER);
$obj = $bootstrap->getObjectManager();
$state = $obj->get('Magento\Framework\App\State');
$state->setAreaCode('frontend');

ini_set('display_errors', 1);
echo "All reviews of the product </br>";



$sku = '24-MB02';
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$product = $objectManager->create("Magento\Catalog\Model\Product")->loadByAttribute('sku', $sku); //use load($producID) if you have product id
$storeManager = $objectManager->get('Magento\Store\Model\StoreManagerInterface');
$currentStoreId = $storeManager->getStore()->getId();
$rating = $objectManager->get("Magento\Review\Model\ResourceModel\Review\CollectionFactory");

$collection = $rating->create()->addStoreFilter(
            $currentStoreId
        )->addStatusFilter(
            \Magento\Review\Model\Review::STATUS_APPROVED
        )->addEntityFilter(
            'product',
            $product->getId()
        )->setDateOrder();
echo "<pre>";
print_r($collection->getData()); //Get all review data of product
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top