我正在使用Laravel 3
。如何通知可以告诉我当前登录了多少用户。
我希望我能更好地解释这一点,但我是Laravel的新手,我应该升级到5.1但是目前这不是一个选项。
感谢任何帮助。
答案 0 :(得分:3)
第1步:升级到Laravel 5.x
第2步:添加迁移,将列active_at
添加为users
表的日期
第3步:添加一个名为ActiveUser
的新HTTP中间件
第4步:在中间件句柄方法中:
if ($user = $request->user()) {
$user->active_at = new \DateTime();
$user->save();
}
第五步:喂宝宝龙
第6步:您现在可以使用active_at
列
答案 1 :(得分:1)
我认为这不是Laravel的内置功能。您可以在用户表中添加一列,如果用户已登录,则可以添加标记。
在对用户进行身份验证后,只需将该列设置为true,并在用户再次注销时将其设置为false。
如果您需要登录用户的数量,只需计算用户表中该标志设置为true的行。
答案 2 :(得分:1)
据我所知,没有简单的方法可以实现这一目标。您可以做的是显示使用users列中最后一个登录列在过去X分钟内登录的用户数。我承认,这不是你想要的,但它可能是下一个最好的东西。
答案 3 :(得分:-2)
如果不使用第三方工具(如html5 websockets(ratchet,socket.io等)或javascript with ajax),就无法用laravel或php完成此操作。
$query = "select count(id) total_online_last30 from users where last_check>='" . date( "Y-m-d H:i:s" , strtotime( date() . " +30 seconds") ) . "'"
然后打印出来。