我正在尝试构建一个功能,用户可以在登录时删除自己的帐户。我正在努力寻找任何示例或逻辑/最佳实践。
控制器看起来像这样:
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 还很陌生,所以任何帮助将不胜感激。
不确定你的路由是什么样的,但这应该可以完成工作。
$user = \User::find(Auth::user()->id);
Auth::logout();
if ($user->delete()) {
return Redirect::route('site-home')->with('global', 'Your account has been deleted!');
}
删除前应先注销用户。
你只需这样做:
$user=auth()->user();
$user->delete();