使用Laravel 5.1获取在最后一个小时内添加的行


Fetching rows added in the last hour using Laravel 5.1

我正在进行一个项目,在该项目中,我必须跟踪在当前时间的最后一小时添加的所有记录。

我可以通过使用以下查询来做到这一点,

select count(*) as cnt
from  log
where date >= DATE_SUB(NOW(),INTERVAL 1 HOUR); 

但在拉拉维尔却无法做到这一点。

您可以使用Carbon日期时间api来获取最后一小时格式化的日期时间

$count = 'DB::table('logs')->where('date', '>=', 'Carbon'Carbon::now()->subHour())->count();

Db::原始

$count = 'DB::table('log') ->where('DB::raw('date >= DATE_SUB(NOW(), INTERVAL 1 HOUR)')) ->count();

您可以使用此

'DB::table('log')->where(['date' => DB::raw('DATE_SUB(NOW(),INTERVAL 1 HOUR)')])->count();

您可以使用DB::raw()来执行特殊的查询部分。

像这样:

$count = 'DB::table('log')
    ->where('date', '>=', 'DB::raw('DATE_SUB(NOW(), INTERVAL 1 HOUR)'))
    ->count();