gpt4 book ai didi

php - 当用户使用 Laravel 成功登录时,如何更新上次登录列?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:57:30 24 4
gpt4 key购买 nike

我正在尝试在用户成功登录时更新最后一个登录列,我尝试将下面的代码放在 LoginController 中,但它没有用,我也尝试过使用监听器,遵循 this answer ,但它没有用,什么也没发生,似乎听众没有被执行。

        DB::table('users')
->where('id', Auth::id())
->update(['lastlogin' => Carbon::now()]);

我的 laravel 版本是 5.4.12。我怎样才能让它工作?

最佳答案

您可以订阅在用户成功通过身份验证后触发的 Login 事件。

app/providers/EventServiceProvider.php 中,将事件和监听器添加到 $listen 数组。

protected $listen = [
// ...
\Illuminate\Auth\Events\Login::class => [
\App\Listeners\LastLogin::class,
],
// ...
];

app/listeners/LastLogin.php 中创建一个新的事件监听器

namespace App\Listeners;

use App\Models\User;
use Carbon\Carbon;
use Illuminate\Auth\Events\Login;

class LastLogin
{
/**
* Handle the event.
*
* @param \Illuminate\Auth\Events\Login $event
* @return void
*/
public function handle(Login $event)
{
// Update user last login date/time
$event->user->update(['lastlogin' => Carbon::now()]);
}
}

关于php - 当用户使用 Laravel 成功登录时,如何更新上次登录列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42475051/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com