php - Eloquent 获取最近 3 小时内的记录

标签 php laravel eloquent

我需要获取过去 3 小时到当前(现在)之间插入的所有记录。我正在使用 laravel 框架( Eloquent orm)。

我试过这个发现here

$lb = \DB::table('myTable')->whereRaw('created_at = DATE_ADD(NOW(), INTERVAL -3 HOUR');

但它返回 NULL。有什么方法可以使用 Eloquent 而不是原始查询吗?

如有任何帮助,我们将不胜感激。

最佳答案

Laravel 附带 Carbon,这是一个处理日期的好库,可以与 Eqlouent 结合使用。

示例:

\DB::table('myTable')
    ->where('created_at', '>', 
        Carbon::now()->subHours(3)->toDateTimeString()
    );

更多信息

有关更多有趣的日期方法,请查看 Carbon 上的这些文档 http://carbon.nesbot.com/docs/#api-addsub

关于php - Eloquent 获取最近 3 小时内的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38607035/

相关文章:

PHP 8.1 与 Xdebug - 在平面命名空间中找不到符号 '_zend_get_parameters_array_ex'

php - Laravel Blade 组件 - UTF-8 编码问题

php - Laravel 4 查询生成器(连接)

php - Laravel用groupBy()对每个组的 Eloquent 返回计数

mysql - 在 Laravel Eloquent/Fluent 中,有没有办法删除一行以及通过关系与其连接的所有内容?

php - mysql 连接到常量并集

javascript - 从 PHP 过渡到 JavaScript(AngularJS、NodeJS 等...)的最佳方式

angularjs - 使用 Laravel 将部分 html 模板加载到 Angular 应用程序中

Laravel 5 - 事件处理程序和监听器之间的混淆

laravel - 跳过并全部拿走?