如何获得laravel中列值的平均值

时间:2017-03-01 10:21:33

标签: php laravel laravel-5 laravel-5.3

让我说我有这个专栏

star
----
1    
3    
3    
1    
2    
5    
3

它有七行,有整数值!我希望将它添加并除以行数。

我如何在laravel中做到这一点。我可以在普通的PHP中完成它,但我想在laravel中学习它。

5 个答案:

答案 0 :(得分:21)

试试这个:

$avgStar = Model::avg('star');

“型号”将替换为您的型号名称

答案 1 :(得分:4)

你可以这样做:

$avg_stars = DB::table('your_table')
                ->avg('star');

更多信息:https://laravel.com/docs/5.3/queries#aggregates

答案 2 :(得分:0)

如果您有更多列,则可以使用DB::raw

使用数据库管理器的本机功能
$products = DB::table('products')
                 ->select('id','name',DB::raw('round(AVG(quantity),0) as quantity'))
                 ->groupBy('id','name')
                 ->get();

答案 3 :(得分:0)

Table::Where('column', $case)->pluck('column')->avg()

答案 4 :(得分:-1)

  

//让我们说模型名称是Review,表名是评论,你有一个   它上面的“明星”栏目

$value = Reviews::all();
$value->avg('star');

return view('page.name')->withValue($value);
  

//它将计算星列的平均值