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)
{
// ...
}
任何人都可以帮助我转换它并帮助新手了解差异。
/**
* 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)
{
// ...
}