【问题标题】:Update the user when authenticated in Laravel在 Laravel 中进行身份验证时更新用户
【发布时间】:2014-08-05 02:43:24
【问题描述】:

我的用户表中有一个“last_login”列,我想在用户登录时更新它。我将它添加到我的登录帖子页面的控制器中:

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

但我为用户提供了多个登录选项(通过社交网络等)。我可以将此代码添加到每个选项中,但我想知道当 Auth 运行其身份验证代码时是否有办法做到这一点,以防止必须将其添加到我调用它的每个控制器方法中。

我怎么能做到这一点,也许通过扩展 Auth 或其他方式?

【问题讨论】:

    标签: php authentication laravel


    【解决方案1】:

    这是此处文档中的一个示例...http://laravel.com/docs/events#basic-usage

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

    还请务必检查“在哪里注册事件”部分,因为它可以提供一些关于将这段代码放在哪里的好主意。

    【讨论】:

    • 甜蜜!我从来不知道事件。这将在各种方面都非常有用!谢谢!
    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 2021-02-08
    • 2013-03-11
    • 2020-07-19
    • 1970-01-01
    • 2018-07-01
    • 1970-01-01
    • 2019-04-03
    相关资源
    最近更新 更多