如何在查询模式时比较 laravel 中的日期/时间戳?

how to compare date / timestamp in laravel while querying the mode?

我有一个类似这样的数据 2014-12-30 09:07:49 分配给 created_at。

我有一个数字,12 作为参数值。我想要做的是,我想将数字 12 与上面的 created_at 进行比较,并以月份为目标。我该怎么做。

我发现,Laravel 在检索数据期间自动将这些 created_at 转换为 Carbon Object。有没有办法在检索过程中提取 created_at 的月份部分?

        public function filterUser($month){
            $user = User::where('created_at', $month)->get();
        }

显然,上面的代码是行不通的。我发现 CarbonObject->month 会从 timestamp/Carbon 对象中获取月份。但是我将如何为我的问题实现这个想法。

您可以将原始表达式与 MONTH() 函数结合使用。

$users = User::where(DB::raw('MONTH(created_at)'), $month)->get();

DB::raw 允许你使用 SQL 函数,否则它们会被转义)