Laravel 6-缺少[Route:users.update]所需的参数[URI:admin / users / {user}

问题描述 投票:0回答:1

[当前正在使用本地服务器上的laravel 6开发一个用于书评的网站。尝试将经过身份验证的用户传递到一种表单时,他可以在其中更改角色,即从“作者”到“编辑器”或从“编辑器”到“读者”,我遇到了问题。

仅出于数据库中的上下文,我有一个用户表,而带有boy的角色表在我的users_roles表中有其ID作为外键。

尝试连接到此视图时遇到以下错误Missing required parameters for [Route: users.update] [URI: admin/users/{user}

<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">
                <img src="{{ asset('/uploads/avatars/' . $user->avatar ) }}" style="width:100px; height:100px; float:left;
                margin-right:25px;">
                <strong>Edit {{$user->name}}'s Role</strong></div>
                <div class="card-body">
                <form action="{{ route('users.update', $user)}}" method="POST">
                @csrf
                {{method_field('PUT')}}

                @foreach($roles as $role)
                    <div class="form-check">
                        <input type="checkbox" name="roles[]" value="{{$role->id}}">
                        <label>{{ $role->name }}</label>
                @endforeach
                <div class="form-group">
                    <div class="text-centre">
                        <button type="submit" class="btn btn-success">
                            Save Role
                        </button>
                    </div>
                    <p></p>
                </div>
            </div>
        </div>
    </div>
</div>

我为此使用的路线:

Route::get('/users/edit_role/{id}', 'UserController@edit')->name('choose_role');

最后,我的用户控制器编辑方法如下所示:

    public function edit(User $user)
    {
        $roles = Role::all();
        return view('admin.users.choose_role')->with([
            'user' => $user,
            'roles' => $roles
        ]);
    }

我已经做了很长一段时间了,我开始获得隧道视野。非常感谢您的帮助!

php laravel view phpmyadmin
1个回答
0
投票

要将路由参数传递给路由,请使用关联数组进行操作,您需要键入该值,因为它不知道应填充哪个路由参数。

{{ route('users.update', ['key' => $user]) }}
© www.soinside.com 2019 - 2024. All rights reserved.