drn61317 2014-08-04 18:37
浏览 52
已采纳

在Laravel中进行身份验证时更新用户

I have a "last_login" column in my users table that I'd like to update when a user logs in. I added this to the controller of my login post page:

DB::select('UPDATE '.DB::getTablePrefix().'users SET last_login=now() WHERE id=?', array($user->id));

But I have more than one login option (through social networks and such) for users. I could add this code to each of those options, but I'm wondering if there's a way to do it when Auth runs its authentication code to prevent having to add it to each controller method where I call it.

How could I do that, maybe by extending Auth or something?

  • 写回答

1条回答 默认 最新

  • dongshanya2008 2014-08-04 18:43
    关注

    This is an example right on the docs here... http://laravel.com/docs/events#basic-usage

    Event::listen('auth.login', function($user)
    {
        $user->last_login = new DateTime;
    
        $user->save();
    });
    

    Also be sure to check the "Where to register events" section as it can give some good ideas on where to put this piece of code.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大