php – 如何在Laravel注销时捕获登录时间?

我正在使用Laravel 5进行应用程序,我应该有一个模块来保存和更新用户的登录时间.

我是编程的新手,所以我很难理解如何做到这一点.

这是针对呼叫中心代理的,他们的班次是在下午3点到早上6点之间.例如,他们以2015-07-21 03:00:00的时间戳登录,那么下午3点如果他们在下午4点退出登录时间为1.0,那么他们登录再次在晚上7点,并在2015-07-21凌晨5点退出,这将是他们之前的登录时间,即1.0 10.0,因为2015-07-20下午7点至2015-07-21上午5点.并应更新该用户的loginhours.

我怎样才能做到这一点?所以现在我的数据库中有一个表

logihours
 ->id
 ->user_id
 ->loginhours (double/float)
 ->timestamp (timestamp of last login/logout)
 ->status (if currently logged in or logged out

这就是我现在,当然这样做我需要总是检查我的登录和注销功能,但我不知道从哪里开始.

最佳答案 如果我要解决这个问题,我会在数据库中存储一个名为last_login的时间戳,该时间戳存储在用户上次成功登录时.

然后在注销时,您可以将当前时间戳与存储在数据库中的时间戳进行比较,以计算出它们登录的时间.

警告:另一个潜在问题是同一个用户可能有多个会话(可能是他们在桌面和手机上登录?).

点赞