在laravel中获取当前小时内的数据

时间:2019-09-05 16:25:22

标签: php laravel

以下内容将从一天开始到一天结束提供数据:

->whereBetween('created_at', [ Carbon::now()->startOfDay(),Carbon::now()->endOfDay()])

是否有办法将数据从当前时间的开始带到当前时间的结束?并确保它也包括今天的日期,只是为了确保它在这一小时之内而不是整天都没有得到数据吗?

1 个答案:

答案 0 :(得分:1)

您现在增加1个小时怎么样?

->whereBetween('created_at', [
             now()->format('Y-m-d H:00:00'),
             now()->addHours(1)->format('Y-m-d H:00:00')
]);

示例:

routes/web.php

<?php
Route::get('/', function () {
    $users = factory(App\User::class, 25)->create();
    foreach ($users->take(10) as $user) {
        $user->created_at = now()->addDay();
        $user->save();
    }
    return App\User::whereBetween('created_at', [
        now()->format('Y-m-d H:00:00'),
        now()->addHours(1)->format('Y-m-d H:00:00')
    ])->count();
});

结果:

15
仅返回今天这一小时内的用户