Laravel - 在用户登录时删除auth用户帐户

Jac*_*ham 3 user-accounts laravel laravel-4

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

控制器看起来像这样:

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!');

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试抓取当前的Auth(已登录)用户并使用他们的ID从数据库中删除它们.然后将它们发送到主页并显示一条消息.

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

我对Laravel很新,所以任何帮助都会受到赞赏.

小智 8

不确定您的路由是什么样的,但这应该可以完成.

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

    Auth::logout();

    if ($user->delete()) {

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

您应该在删除之前注销用户.