laravel 中含碳的月度数据

Monthly data with carbon in laravel

我想按月而不是按天计算注册用户数。

例子

如果我有这样的代码:

$newUsers = User::where('created_at', '<=', now()->subdays(30))->count();

它将 return 过去 30 天的用户,假设今天是本月的 15th,那么结果将是从上个月 15th 到本月 15th

This is not what I want!

我想要的是统计从本月 1st30

的用户数

这意味着如果今天是 15 我得到的用户数从 1st15 而上个月没有。

如何获取?

您可以在 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();