根据Laravel中日期的月份获取行数

时间:2018-11-24 18:06:51

标签: laravel eloquent

我希望laravel中的查询将dateofSale月份的数据与同一月份的行数进行分组。

这是我的桌子 enter image description here

我想输出类似这样的内容

numberOfSales | Month
     2           Nov
     1           Oct

我该怎么办?

2 个答案:

答案 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;