我想检查用户是否在使用该系统。
我知道有一个last_login,标准的laravel类是UpdateLastLoggedInAt。
public function handle(Login $event)
{
$event->user->last_login = Carbon::now();
$event->user->save();
}
如果用户让他们的浏览器窗口保持打开状态,则无效。
有没有办法让它在每个页面刷新或路由更改(用户浏览网站)时,将last_login更改为该时间?
提前致谢。
答案 0 :(得分:0)
我为此创建了一个中间件,并将其包装在所有路径周围。
class LogLastSeen
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$user = User::find(Auth()->user()->id);
$user->last_login = Carbon::now();
$user->save();
return $next($request);
}