2017-02-21 114 views
0

任何人都可以幫助我轉換這個,並幫助菜鳥學習差異。Laravel請求轉換

/** 
    * 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一起工作;

+0

誤差代碼拋出是: ''' FatalThrowableError在ValidatesRequests.php管線50: 類型錯誤:參數1傳遞給應用程序\ HTTP \控制器\控制器::驗證( )必須是Illuminate \ Http \ Request的實例,在給定的Illuminate \ Support \ Facades \ Request的實例中,在269行中調用/home/UNIT3D_2.0/app/Http/Controllers/UserController.php –

+0

應該編輯你的問題並在那裏添加錯誤。 – Samsquanch

回答

2

看看評論,您在控制器中導入了無效的Request類。在你的控制器文件,你應該有:

use Illuminate\Http\Request; 

代替:

use Illuminate\Support\Facades\Request; 

編輯

如果您的其他功能使用已經Illuminate\Support\Facades\Request你可以別名這個類是這樣的:

use Illuminate\Http\Request as IlluminateRequest; 

然後在你身邊řdeleteProfile使用:

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

是唯一的問題是我的控制器中使用的其他功能 使用Illuminate \ Support \ Facades \ Request; –

+0

@HDVinnie看看我編輯的答案 –

+0

真棒測試和工作!非常感激! –