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

时间:2014-08-07 19:55:07

标签: laravel laravel-4 user-accounts

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

控制器如下所示:

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

}

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

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

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

2 个答案:

答案 0 :(得分:7)

不确定您的路由是什么样的,但这应该可以胜任。

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

    Auth::logout();

    if ($user->delete()) {

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

您应该在删除前注销用户。

答案 1 :(得分:0)

你只需要这样做:

$user=auth()->user();      
$user->delete();