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); }