Laravel - 在用户登录时删除身份验证用户帐户

问题描述 投票:0回答:2

我正在尝试构建一个功能,用户可以在登录时删除自己的帐户。我正在努力寻找任何示例或逻辑/最佳实践。

控制器看起来像这样:

public function postDestroy() {

        $user = User::find(Auth::user()->id);
        $user = DB::delete('delete from users')->user(id);
        return Redirect::route('site-home')->with('global', 'Your account has been deleted!');

}

我试图获取当前的身份验证(登录)用户并使用他们的 ID 将其从数据库中删除。然后通过消息将它们发送到主页。

另外,我是否需要确保在此过程中正确关闭会话,例如 Auth::logout(); ?

我对 Laravel 还很陌生,所以任何帮助将不胜感激。

laravel laravel-4 user-accounts
2个回答
18
投票

不确定你的路由是什么样的,但这应该可以完成工作。

    $user = \User::find(Auth::user()->id);

    Auth::logout();

    if ($user->delete()) {

         return Redirect::route('site-home')->with('global', 'Your account has been deleted!');
    }

删除前应先注销用户。


1
投票

你只需这样做:

$user=auth()->user();      
$user->delete();
© www.soinside.com 2019 - 2024. All rights reserved.