如何在查询模式时比较 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 函数,否则它们会被转义)
我有一个类似这样的数据 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 函数,否则它们会被转义)