我使用Laravel提交表单。这是我的web.php路由:
Route::middleware(['auth'])->prefix('account')->namespace('Account')->group(function () {
Route::get('informations', 'AccountController@index')->name('account.informations');
Route::post('informations', 'AccountController@update')->name('account.informations.post');
});
我的控制器AccountController.php:
/**
* @param UpdateMember $request
* @return \Illuminate\Http\RedirectResponse
*/
public function update(UpdateUser $request)
{
dd($request->all());
$user = User::where('id', Auth::user()->id)
->update($request->all());
return redirect()->route('account.informations');
}
还有我的UpdateUser.php:
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'lastname' => 'required|string|max:255',
'firstname' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users|confirmed',
'password' => 'required|string|min:6|confirmed',
];
}
我的问题:当我在控制器中使用UserUpdate $ request时,我没有到达函数,dd($request->all())
没有显示。
但是如果我替换:
public function update(UpdateUser $request)
通过
public function update(Request $request)
到达我的控制器。我该怎么办?
答案 0 :(得分:0)
关于唯一字段验证(例如电子邮件)的原因是什么,因为在更新现有记录时,您的验证规则将返回一条错误电子邮件,该电子邮件已经存在。可以通过以下示例解决此问题
mixin SomeClass<T extends SomeOtherClass>
on State<T>
implements ThirdClass
答案 1 :(得分:0)
在我的情况下,原因是我在请求标头中添加了“ Accept:application / json”。添加该标头后,一切正常