Add average rating for partners in response for closest partners. #632
This commit is contained in:
parent
158d05d822
commit
8ebb123064
1 changed files with 18 additions and 0 deletions
|
|
@ -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,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue