Laravel 5.7,在用户注销之前执行一些操作

时间:2018-12-10 05:07:54

标签: php laravel

我想在注销之前将当前用户type字段设置为其他字段,但是问题是,我不知道应该将此代码放在哪个控制器或哪种方法上。顺便说一句,我在Laravel 5.7中没有AuthController。

$user = Auth::user();
$user->type = "something";
$user->save;

1 个答案:

答案 0 :(得分:1)

您可以使用EventSubscriber。 请查看documentation。 在内部处理方法中,您将能够获得以下用户对象:

public function hanlde($event) 
{
    $user = $event->user;
    // You will be able to change user here
}

其他方法: 如果查看LoginController,您将看到它使用名为“ AuthenticatesUsers”的特征(Illuminate \ Foundation \ Auth \ AuthenticatesUsers)。 而且此特征具有名为“注销”的方法

    /**
 * Log the user out of the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function logout(Request $request)
{
    $this->guard()->logout();

    $request->session()->invalidate();

    return redirect('/');
}

您可以将其复制/粘贴到LoginController中并重写。 PS:但是我更喜欢第一种选择。但这取决于你。 希望对您有所帮助。