Laravel 5搜索记录30分钟及以上的今天(Laravel 5 search records 3

2019-09-28 15:49发布

我试图让那些30分钟老今天有一个叫smsed值字段中的所有记录= 0。

我所试图做的就是让所有的记录,我有今天的日期数据库中,超过30min以上。

$data = DB::table('applicant')->whereRaw('AppDate < (NOW() - INTERVAL 30 MINUTE)')->where('smsed','=',0)->limit(5000)->get();

上面有哪些做的就是让所有的记录在数据库中,并不仅是今天。

Answer 1:

这是因为你只要求它为超过30分钟旧记录,不包括任何将其限制到今天。

你可以使用类似whereBetween

$data = DB::table('applicant')
    ->whereBetween('AppDate', [Carbon\Carbon::now()->startOfDay(), Carbon\Carbon::now()->subMinute(30)])
    ->where('smsed', '=', 0)
    ->limit(5000)
    ->get();

或者,如果你只是想保持你的SQL函数,你可以这样做:

$data = DB::table('applicant')
    ->whereRaw('AppDate < (NOW() - INTERVAL 30 MINUTE)')
    ->whereRaw('DATE(AppDate) = CURDATE()')
    ->where('smsed','=',0)
    ->limit(5000)
    ->get();

希望这可以帮助!



文章来源: Laravel 5 search records 30min and older for today
标签: laravel-5