使用Laravel 5.1获取在过去一小时内添加的行

时间:2015-11-26 12:32:21

标签: php mysql mysqli laravel-5.1

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

我可以使用以下查询

来完成此操作
select count(*) as cnt
from  log
where date >= DATE_SUB(NOW(),INTERVAL 1 HOUR); 

但不能在Laravel中做同样的事。

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

DB ::原始

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

答案 2 :(得分:0)

你可以用这个

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

答案 3 :(得分:0)

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

像这样:

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