更新用户

时间:2018-07-24 04:55:12

标签: php html laravel

我想使用此表单更新用户:

        {!! 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');
)};

当我按下更新按钮时,我收到此错误:

error message that I received

请帮助我,我正在使用Laravel 5.4

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');
 )};