Laravel 显示错误函数 App\Http\Controllers\UserController::admin_side_update() 的参数太少,1 个已通过,正好是 2 个预期

Laravel showing error Too few arguments to function App\Http\Controllers\UserController::admin_side_update(), 1 passed and exactly 2 expected

我做了一个资源以外的功能,我正在尝试更新我的数据,但更新页面显示错误。 我正在解决我试图解决的这个错误,但我无法找到传递第二个变量的方法

Edit.blade.php

    @extends('home')

@section('title', '| Edit User')

@section('dashboard')

<div class='col-lg-4 col-lg-offset-4'>

    <h1><i class='fa fa-user-plus'></i> Edit {{$user->name}}</h1>
    <hr>

     <form action="{{ route('users.updated', ['id' => $user->id]) }}" method="post" enctype="multipart/form-data">
      {{ csrf_field() }}

    <div class="form-group">
        <label for="name" class="col-sm-2 col-form-label">Name *</label>

            <input type="text" class="form-control col-sm-10" id="name" name="name"
             value="{{$user->name}}" />
    </div>


    <div class="form-group">
        <label for="email" class="col-sm-2 col-form-label">Email *</label>

            <input type="email" class="form-control col-sm-10" id="email" name="email"
             value="{{$user->email}}" />
    </div>


    <h5><b>Give Role</b></h5>

    <div class='form-group'>
        @foreach ($roles as $role)
            <input class="form-check-input" type="checkbox" name="roles[]" value="{{ $role->id }}">  
  <label class="form-check-label" for="defaultCheck1">
    {{$role->name}}
  </label>
        @endforeach
    </div>

    <div class="form-group">
       <label for="password" class="col-sm-2 col-form-label">Password *</label>

            <input type="password" class="form-control col-sm-10" id="password" name="password"
            value="{{$user->password}}" />

    </div>

    <div class="form-group row"  style="margin:5%;">

            <button type="submit" class="btn btn-primary col-sm-3 col-sm-offset-3">Edit User</button>
      </div>
  </form>


</div>

@endsection

Web.php

    Route::get('users/{id}/change' ,'UserController@admin_side_edit');
        Route::post('users/savechanges/{id}', [
  'as' => 'users.updated',
  'uses' => 'UserController@admin_side_update'
]);

如果有人愿意帮助我,这会导致我出错。

修改后

实际上你没有将 id 传递给操作,在 blade.

对于你在表单中的操作,你可以使用这个:

{{ route('users.updated', ['id' => $user->id]) }}

并且不要忘记在路由中添加参数

Route::post('users/savechanges/{id}', [
  'as' => 'users.updated',
  'uses' => 'UserController@admin_side_update'
]);

希望对您有所帮助。