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

Php 如何获得laravel中列值的平均值,php,laravel,laravel-5,laravel-5.3,Php,Laravel,Laravel 5,Laravel 5.3,假设我有这个专栏 star ---- 1 3 3 1 2 5 3 它有七行,有整数值!我想把它加起来,然后除以那里的行 我如何在拉雷维尔做到这一点。我可以用普通的php来做,但我想用laravel来学习。如果你想用查询生成器来做,你可以使用聚合方法,比如avg: $avg_stars = DB::table('your_table') ->avg('star'); 关于聚合。尝试以下方法: $avgStar

假设我有这个专栏

star
----
1    
3    
3    
1    
2    
5    
3
它有七行,有整数值!我想把它加起来,然后除以那里的行


我如何在拉雷维尔做到这一点。我可以用普通的php来做,但我想用laravel来学习。

如果你想用查询生成器来做,你可以使用聚合方法,比如
avg

$avg_stars = DB::table('your_table')
                ->avg('star');
关于聚合。

尝试以下方法:

$avgStar = Model::avg('star');
“模型”将替换为您的模型名称

//假设模型名为Review,表名为reviews,那么 上面有“星”栏

//它将计算星形柱的平均值


如果有更多列,可以使用数据库管理器的本机功能,使用
DB::raw

$products = DB::table('products')
                 ->select('id','name',DB::raw('round(AVG(quantity),0) as quantity'))
                 ->groupBy('id','name')
                 ->get();

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

如果数据库中有这些值,则
avg()
会有所帮助。在php
array\u sum($array)/count($array)
中,虽然这段代码可以解决这个问题,但如何以及为什么解决这个问题将真正有助于提高您的帖子质量,并可能导致更多的投票。请记住,你是在将来回答读者的问题,而不仅仅是现在提问的人。请在回答中添加解释,并说明适用的限制和假设。
$products = DB::table('products')
                 ->select('id','name',DB::raw('round(AVG(quantity),0) as quantity'))
                 ->groupBy('id','name')
                 ->get();