我想创建用户日志,但有些东西对我不起作用。
protected $listen = [
'Illuminate\Auth\Events\Login' => [
'App\Listeners\LogSuccessfulLogin',
],
LogSuccessfulLogin.php
class LogSuccessfulLogin
{
/**
* Create the event listener.
*
* @param Request $request
* @return void
*/
public function __construct(User $user)
{
$this->user = $user;
}
/**
* Handle the event.
*
* @param Login $event
* @return void
*/
public function handle()
{
Event::listen('auth.login', function ($user, $remember) {
$user->update([
'last_login' => \Carbon\Carbon::now(),
'ip_address' => \Request::ip()
]);
});
}
}
我阅读了很多教程,但没有帮助
答案 0 :(得分:1)
您告诉Laravel在此处列出登录事件:
protected $listen = [
'Illuminate\Auth\Events\Login' => [
'App\Listeners\LogSuccessfulLogin',
],
在handle语句中监听事件是不正确的。该事件已被触发。
如果从handle方法中删除Event::listen
,它应该可以正常工作。
/**
* Handle the event.
*
* @param Login $event
* @return void
*/
public function handle()
{
$this->user->update([
'last_login' => \Carbon\Carbon::now(),
'ip_address' => \Request::ip()
]);
}