diff --git a/src/Controller/APIController.php b/src/Controller/APIController.php index a1a04590..4e44d602 100644 --- a/src/Controller/APIController.php +++ b/src/Controller/APIController.php @@ -2524,6 +2524,23 @@ class APIController extends Controller implements LoggedController $partners = []; foreach($result as $row) { + // get all the reviews for each partner and average the ratings + $partner_id = $row[0]->getID(); + $partner = $em->getRepository(Partner::class)->find($partner_id); + $partner_reviews = $em->getRepository(Review::class)->findBy(['partner' => $partner]); + + $average_rating = 0; + if (count($partner_reviews) > 0) + { + $rating = 0; + foreach ($partner_reviews as $review) + { + $rating = $rating + $review->getRating(); + } + + $average_rating = $rating / sizeof($partner_reviews); + } + $partners[] = [ 'id' => $row[0]->getID(), 'name' => $row[0]->getName(), @@ -2535,6 +2552,7 @@ class APIController extends Controller implements LoggedController 'longitude' => $row[0]->getCoordinates()->getLongitude(), 'latitude' => $row[0]->getCoordinates()->getLatitude(), 'db_distance' => $row['dist'], + 'rating' => $average_rating, ]; }