Php 更新用户

Php 更新用户,php,html,laravel,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::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() !!}
当我按下更新按钮时,我收到以下错误:


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

请在路由中使用补丁,例如:


路由::补丁('/users/{id}','AdminController@update');

您的方法是post,但您发送了补丁请求

你应该换成这个

'method'=>'post'
试着跟随

{{ 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来管理用户

您可以使用此代码修复所有问题

成形刀片

{{ Form::model($user, array('route' => array('update-user', $user->id), 'method' => 'PUT'))  }}
路线


尝试将表单方法更改为POST不使用POST方法Try-
'action'=>'/users/'$user->id
method=post
我曾经在表单助手中使用过操作。也许这就是问题所在。尝试将“action”更改为“url'=>“admin/users”。$user->id错误是什么?您可以在此处发布所有路由吗?Route::prefix('admin')->group(function(){Route::get('/users'),'AdminController@create')->name('create.user');Route::get('/admin/users','AdminController@showAllUsers')->name('all-users');路由::get('/admin','AdminController@index');路由::post('/users','AdminController@store');路由::get('/users/edit/{id}','AdminController@edit')->name('edit-user');Route::PUT('/users/{id}','AdminController@update')->name('update-user');});不,我的意思是“php artisan路线:列表”“在您的终端中并共享输出请编辑您的答案并详细解释您的代码实现了什么,以便您的答案与未来用户更相关:)我在帖子中添加了我的路线列表。您现在可以看到我使用了它,但我收到了新的错误:未定义变量userif这是一个编辑页面,您应该传递user进行更新,在这个代码中,我通过$user调用user object,您应该将user object传递给这个视图
{{ 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');
 )};