vij*_*ana 7 php laravel eloquent
我需要获取在过去3小时内插入到当前(现在)的所有记录.我正在使用laravel框架(eloquent orm).
我试过这个发现在这里
$lb = \DB::table('myTable')->whereRaw('created_at = DATE_ADD(NOW(), INTERVAL -3 HOUR');
Run Code Online (Sandbox Code Playgroud)
但它返回NULL.有什么方法可以使用雄辩但不是Raw Query吗?
任何帮助,将不胜感激.
Chr*_*ris 21
Laravel附带Carbon,一个处理日期的漂亮库,可以与Eqlouent结合使用.
例:
\DB::table('myTable')
->where('created_at', '>',
Carbon::now()->subHours(3)->toDateTimeString()
);
Run Code Online (Sandbox Code Playgroud)
更多信息
有关更多有趣的约会方法,请查看碳上的这些文档 http://carbon.nesbot.com/docs/#api-addsub
我们可以使用PHP DateTime。像这样,
$date = new \DateTime();
$date->modify('-3 hours');
$formatted_date = $date->format('Y-m-d H:i:s');
$lb = \DB::table('myTable')->where('created_at', '>',$formatted_date);
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,我们正在做的是使用PHP创建日期字符串并在查询中使用它。
| 归档时间: |
|
| 查看次数: |
9362 次 |
| 最近记录: |