我有Laravel应用程序,我检查用户每3秒(示范目的,实际上5分钟)定期用心跳登录。对于每个节拍,我检查用户当前时间的最后一项活动是否也是5分钟。如果是,请将其注销。Laravel选择5分钟以上的记录?
这里是我的代码:
$result = DB::table('db_user')->where('id_user','=',Session::get('id_user'))->where('last_activity','>=',"now() - interval 5 minute")->get();
if(!empty($result))
return Redirect::to('/logout');
else
return Response::json('still-alive');
我的问题是,这是行不通的。如果我将操作数更改为<=
,它会在5分钟之前立即将我注销,如果操作数是>=
,即使5分钟后它不会将我注销,任何人都可以解释原因吗?
CNC中
感谢所有的答案,我解决我的问题,通过修改我的代码:
$result = DB::table('db_user')->where('id_user','=',Session::get('id_user'))->first();
if(!empty($result))
if(strtotime($result->last_activity) < strtotime("-5 minutes"))
return Redirect::to('/logout');
else
return Response::json('still-alive');
else
return Response::json('no-record');
感谢,我想你也和它的作品。由于你的回答时间而被接受和提高,无论如何,我已经用自己的代码解决了这个问题(请参阅编辑),非常感谢您的时间:D – user2002495
您也可以使用Carbon(默认包含在Laravel中)创建格式化date:'$ formatted_date = Carbon :: now() - > subMinutes(5) - > toDateTimeString();' – murze