Ejemplo n.º 1
0
 public function calculateAverageRating(\ClassCentral\CredentialBundle\Entity\Credential $credential)
 {
     $rating = 0;
     $reviews = $credential->getReviews();
     $validReviewsCount = 0;
     if ($reviews && $reviews->count() > 0) {
         $ratingSum = 0;
         foreach ($reviews as $review) {
             if ($review->getStatus() < CredentialReview::REVIEW_NOT_SHOWN_STATUS_LOWER_BOUND) {
                 $ratingSum += $review->getRating();
                 $validReviewsCount++;
             }
         }
         if ($validReviewsCount > 0) {
             $rating = $ratingSum / $validReviewsCount;
         }
     }
     return array('rating' => $rating, 'numRatings' => $validReviewsCount);
 }