首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算5颗星的总评分平均值?

如何计算5颗星的总评分平均值?
EN

Stack Overflow用户
提问于 2019-12-29 14:06:30
回答 2查看 1.8K关注 0票数 2

我想知道一家餐厅的平均星级。顾客会给这家餐厅打分。我制作了一个用于存储客户评分的数据透视表。

The average rating =5

代码语言:javascript
运行
复制
--------
place_ratings
---------------
user_id   place_id rating
   1          1      4
   2          1      3
   5          1      5

公式是什么,或者我如何在php laravel中计算它?

这是我的代码:

代码语言:javascript
运行
复制
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);
    }
EN

Stack Overflow用户

发布于 2019-12-29 14:18:49

这就是我想出来的。我将它作为一个集合来使用集合方法:

代码语言:javascript
运行
复制
public function placeRating($id)
{
    $ratings = PlaceRating::where('place_id',$id)->get();
    $ratingValues = [];

    foreach ($ratings as $aRating) {
        $ratingValues[] = $aRating->rating;
    }

    $ratingAverage = collect($ratingValues)->sum() / $ratings->count();

    return $ratingAverage;
}
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59517230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档