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 = [];
|
$partners = [];
|
||||||
foreach($result as $row)
|
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[] = [
|
$partners[] = [
|
||||||
'id' => $row[0]->getID(),
|
'id' => $row[0]->getID(),
|
||||||
'name' => $row[0]->getName(),
|
'name' => $row[0]->getName(),
|
||||||
|
|
@ -2535,6 +2552,7 @@ class APIController extends Controller implements LoggedController
|
||||||
'longitude' => $row[0]->getCoordinates()->getLongitude(),
|
'longitude' => $row[0]->getCoordinates()->getLongitude(),
|
||||||
'latitude' => $row[0]->getCoordinates()->getLatitude(),
|
'latitude' => $row[0]->getCoordinates()->getLatitude(),
|
||||||
'db_distance' => $row['dist'],
|
'db_distance' => $row['dist'],
|
||||||
|
'rating' => $average_rating,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue