gpt4 book ai didi

php - 如何计算5星总评分的平均值?

转载 作者:行者123 更新时间:2023-12-05 01:38:38 24 4
gpt4 key购买 nike

我正在尝试获取一家餐厅的总星级评分的平均评分。顾客会对这家餐厅进行评价。我制作了一个用于存储客户评分的数据透视表。

The average rating =5

--------
place_ratings
---------------
user_id place_id rating
1 1 4
2 1 3
5 1 5

公式是什么,或者我如何在 php laravel 中计算它?
这是我的代码:

public function placeRating($id)
{

$rates = PlaceRating::where('place_id',$id)->select('rating')->get()->toArray();

$rateArray =[];
foreach ($rates as $rate)
{
$rateArray[]= $rate['rating'];
}

$sum = array_sum($rateArray);
$result = $sum/5;

return response()->json(['rating'=>$result],200);
}

最佳答案

不要取出所有 place_ratings 记录,如果餐厅有成千上万的用户评分,它会减慢您的 API。

尝试使用这个查询:

PlaceRating::where('place_id',$id)->selectRaw('SUM(rating)/COUNT(user_id) AS avg_rating')->first()->avg_rating;

关于php - 如何计算5星总评分的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59517230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com