假设我有这个列
star ---- 1 3 3 1 2 5 3
它有七行,有整数值!我想让它相加,并除以有行。我可以用普通的php来做,但我想在laravel中学习。
kzipqqlq1#
试试这个:
$avgStar = Model::avg('star');
“型号”将替换为您的型号名称
whitzsjs2#
如果你想用查询构建器来做这件事,你可以使用像avg这样的聚合方法:
avg
$avg_stars = DB::table('your_table') ->avg('star');
Laravel 5关于聚合的文档。
juud5qan3#
如果您有更多的列,则可以使用DB::raw来使用数据库管理器的本机函数
DB::raw
$products = DB::table('products') ->select('id','name',DB::raw('round(AVG(quantity),0) as quantity')) ->groupBy('id','name') ->get();
kq0g1dla4#
Table::Where('column', $case)->pluck('column')->avg()
sqxo8psd5#
如果需要添加多个条件,请尝试以下操作:型号:
$avgStar = YourModel::Where( [ ['star', '>', 1], ['star', '<>', 0] ..... ])->pluck('star')->avg();
使用DB:
$avgStar = DB::table('table_name')->Where( [ ['star', '>', 1], ['star', '<>', 0] ..... ])->pluck('star')->avg();
ct2axkht6#
//假设模型名称是Review,表名称是review,您在它上面有一个'星星'列
$value = Reviews::all(); $value->avg('star'); return view('page.name')->withValue($value);
//它将计算一个平均值
6条答案
按热度按时间kzipqqlq1#
试试这个:
“型号”将替换为您的型号名称
whitzsjs2#
如果你想用查询构建器来做这件事,你可以使用像
avg
这样的聚合方法:Laravel 5关于聚合的文档。
juud5qan3#
如果您有更多的列,则可以使用
DB::raw
来使用数据库管理器的本机函数kq0g1dla4#
Table::Where('column', $case)->pluck('column')->avg()
sqxo8psd5#
如果需要添加多个条件,请尝试以下操作:
型号:
使用DB:
ct2axkht6#
//假设模型名称是Review,表名称是review,您在它上面有一个'星星'列
//它将计算一个平均值