[路线:photographers.edit] [URI:posts/edit/{photographers}] 缺少必需的参数

Missing required parameters for [Route: photographers.edit] [URI: posts/edit/{photographers}]

每次我创建一个编辑按钮甚至是一个按钮来查看我的项目中的特定 post 时都会出现此错误。

这是我的路线代码:

Route::get('/posts/edit/{photographers}', 'PhotographerController@edit')
    ->name('photographers.edit');

这是我在控制器文件中的编辑功能:

public function edit(Photographer $photographer)
        {
            return view('photographers.edit', compact('photographer'));
        }

这是我的视图按钮路线:

<a href="{{route('photographers.edit', $photographer)}}">Edit</a>

我阅读了很多以前关于这个问题的post,但并没有真正帮助我。

有时依赖注入可能是错误的原因,你可以如下使用id

public function edit($id)
    {
        $photographer = Photographer::find($id);

        return view('photographers.edit', compact('photographer'));
    }

我还注意到在你的 blade 文件中,你将整个 $photographer 作为参数传递,你只需要传递 id

<a href="{{route('photographers.edit', $photographer->id)}}">Edit</a>