Laravel 请求转换

Laravel Request Conversion

任何人都可以帮助我转换它并帮助新手了解差异。

/**
     * User Delete Account via Profile
     *
     * @access protected
     * @return void
     *
     */
    protected function deleteProfile(Request $request) {
        $this->validate($request, [
            'confirmation' => 'required',
            'password' => 'required',
        ]);
        $usr = User::findOrFail(Auth::user()->id);
        if (Hash::check($request->password, $usr->password)) {
            Auth::logout();
            // Removes UserID from Torrents if any and replaces with System UserID (0)
            foreach(Torrent::where('user_id', '=', $usr->id)->get() as $tor) {
                $tor->user_id = 0;
                $tor->save();
            }
            // Removes UserID from Comments if any and replaces with System UserID (0)
            foreach(Comment::where('user_id', '=', $usr->id)->get() as $com) {
                $com->user_id = 0;
                $com->save();
            }
            if($usr->delete()) {
                return view('members.delete_account');
            }
        } else {
            return redirect()->back()->with(Toastr::warning('Your Password Was Incorrect!', 'Error', ['options']));
        }
    }

这是设置使用 Illuminate\Http\Request;

但我需要它才能与 Illuminate\Support\Facades\Request;

一起使用

查看评论,您在控制器中导入了无效请求 class。在你的控制器文件中你应该有:

use Illuminate\Http\Request;

而不是:

use Illuminate\Support\Facades\Request;

编辑

如果您的其他函数已经使用 Illuminate\Support\Facades\Request,您可以像这样为 class 添加别名:

 use Illuminate\Http\Request as IlluminateRequest;

然后在您的 deleteProfile 中使用:

protected function deleteProfile(IlluminateRequest $request) 
{
   // ...
}