我希望laravel中的查询将dateofSale月份的数据与同一月份的行数进行分组。
我想输出类似这样的内容
numberOfSales | Month 2 Nov 1 Oct
我该怎么办?
答案 0 :(得分:1)
您应该能够通过以下方式实现此目标:
$data = \App\SaleData::selectRaw('COUNT(*) as count, YEAR(dateOfSale) year, MONTH(dateofSale) month')
->groupBy('year', 'month')
->get();
如果您还不包括年份,则同一个月内将包含不同年份的销售额,例如从2017年10月到2018年10月的销售将一并包括在内。
答案 1 :(得分:0)
您可以尝试
$data = SalesData::select(DB::raw('count('*') as `count`'), DB::raw('MONTH(dateOfSale) month'))
->groupBy(function($m) {
return Carbon::parse($m->dateOfSale)->format('m');
})->get();
别忘了像控制器一样将碳和数据库导入
use DB;
use Carbon\Carbon;