我想让注册用户按月计算,而不是按天计算。
如果我有这样的代码:
$newUsers = User::where('created_at', '<=', now()->subdays(30))->count();
它将从过去30天返回用户,想象今天是本月的15th
所以结果将从上个月15th
直到本月15th
这不是我想要的!
我想要的是计算用户从1st
当月直到30
这意味着,如果今天是15
,我会得到用户从1st
到15
的数量以及上个月的数据。
怎么做到的?
您可以在laravel中使用whereMonth()
函数作为查询构建器。
$usersCount = User::whereMonth(
'created_at',
Carbon::now()->format('m')
)->count();
编辑
匹配确切的月份(月份与年份)
$usersCount = User::whereMonth(
'created_at',
Carbon::now()->format('m')
)->whereYear(
'created_at',
Carbon::now()->format('Y')
)->count();