我有 Laravel 应用程序,我在其中定期检查用户登录,每 3 秒检测一次(演示目的,实际上是 5 分钟)。对于每个节拍,我检查用户当前时间的最后一次活动是否也是 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 分钟后它也不会注销我,谁能解释为什么?
-编辑-
感谢所有的答案,我通过修改我的代码解决了我的问题:
$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');