我想使用此表单更新用户:
{!! Form::model($user ,['method'=>'PATCH', 'action'=>['AdminController@update',$user->id], 'files'=>true]) !!}
<div class="form-group">
{!! Form::label('first_name','First Name:') !!}
{!! Form::text('first_name',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('last_name','Last Name:') !!}
{!! Form::text('last_name',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('username','Username (Student ID):') !!}
{!! Form::number('username',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('email','Email:') !!}
{!! Form::email('email',null,['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('address','Address:') !!}
{!! Form::text('address','null',['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('phone_number','Phone Number:') !!}
{!! Form::number('phone_number','null',['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::label('password','Password:') !!}
{!! Form::password('password',['class'=>'form-control']) !!}
</div>
<div class="form-group">
{!! Form::submit('Update User', ['class'=>'btn btn-primary col-sm-6']) !!}
</div>
{!! Form::close() !!}
这是我的路线:
Route::prefix('admin')->group(function(){
Route::post('/users/{id}','AdminController@update');
)};
当我按下更新按钮时,我收到此错误:
请帮助我,我正在使用Laravel 5.4
答案 0 :(得分:1)
尝试关注
{{ Form::model($user, array('route' => array('users.update', $user->id), 'method' => 'PUT')) }}
// form fiedls come here
{!! Form::close() !!}
在路由文件中添加以下路由:
Route::resource('users', "UserController");
并在用户控制器中添加以下代码:
public function update(Request $request, $id){
// Add form validation here
$user = User::find($id);
$user->first_name = $request->first_name;
$user->last_name = $request->last_name;
$user->save();
Session::Flash('success', 'The User have been updated successfully!');
return redirect()->route('users.index');
}
请勿使用AdminController来管理用户。
答案 1 :(得分:0)
请在例如以下路线中使用PATCH:
Route :: patch('/ users / {id}','AdminController @ update');
答案 2 :(得分:0)
您的方法是post,但是您发送补丁请求
您应该更改为此
'method'=>'post'
答案 3 :(得分:0)
您可以使用此代码修复所有问题
成型刀片
{{ Form::model($user, array('route' => array('update-user', $user->id), 'method' => 'PUT')) }}
路线
Route::prefix('admin')->group(function(){
Route::PUT('/users/{id}','AdminController@update')->name('update-user');
)};