首页 > 解决方案 > 如何在 laravel 7 的雄辩查询中获得每月注册用户总数?

问题描述

我需要以下帮助......我想绘制查询结果......我正在使用consoleTVCharts库......但是在绘制结果时遇到问题这是我的查询代码:

$users = User::select(\DB::raw("COUNT(*) as count"))
    ->whereYear('created_at' ,'=', '2020')
    ->groupBy(\DB::raw("Month(created_at)"))
    ->pluck('count');

创建图表的代码

$chart4 = new RegistroUsuariosMensual;
    $chart4->title('Total User Monthly');
    $chart4->labels(['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
    $chart4->dataset('meses','line',$users);

这就是结果 在此处输入图像描述

在我的数据库中,在那几个月里我没有注册用户 在此处输入图像描述

会有什么问题?

标签: phpmysqllaraveleloquentlaravel-7

解决方案


您不能在整数中使用 groupBy,试试这个

$users = User::select(\DB::raw('strftime("%m", created_at) as month, count(id) as total'))
->whereBetween('created_at', ['2020-01-01 00:00:00', '2020-12-31 23:59:59'])
->groupBy('month')
->orderBy('month')
->pluck('total', 'month')
->all();

推荐阅读