Php 使用Laravel 5.1获取最近一小时内添加的行

Php 使用Laravel 5.1获取最近一小时内添加的行,php,mysql,mysqli,laravel-5.1,Php,Mysql,Mysqli,Laravel 5.1,我正在做一个项目,我必须跟踪在当前时间最后一个小时添加的所有记录 我可以通过使用以下查询来实现这一点 select count(*) as cnt from log where date >= DATE_SUB(NOW(),INTERVAL 1 HOUR); 但是在拉威尔不能做同样的事情。你可以用这个 \DB::table('log')->where(['date' => DB::raw('DATE_SUB(NOW(),INTERVAL 1 HOUR)')])->c

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

我可以通过使用以下查询来实现这一点

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

但是在拉威尔不能做同样的事情。

你可以用这个

\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();

您可以使用Carbon date-time 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();

到目前为止,您尝试过什么样的laravel代码?您使用的是Eloquent还是查询生成器?好的,我试过了,但结果为0,当前小时内有这么多条目。哦,糟糕,我忘记了where函数中的
=
。我更新了我的答案。我更新了一点你的通讯网$count=\DB::table('log')->其中(\DB::raw('date>=date_SUB(NOW(),INTERVAL 1 HOUR))->count();你能解释一下你的代码是做什么的吗?仅使用代码的答案可能对其他人没有多大用处。。。