Laravel 路由给出未定义的变量,即使路由列表匹配

Laravel route giving undefined variable even though route list match up

我有一个创建一组图库照片并通过模型保存它们的视图。我想另外引入的是一种删除和更新新图像的方法。但是由于某种原因,在控制器中声明到 Update 方法的路由时,我的表单路由给了我一个 Undefined variable home

查看表单路由声明:

{!! Form::open(['url' => route('admin.home.update', ['id' => $home->id]), 'method' => 'put', 'id' => 'amend_form', 'enctype'=>"multipart/form-data"])!!}

资源更新路线列表:

y                          | web,admin
|        | PUT|PATCH | admin/home/{home}    | admin.home.update               |App\HttpControllers\Admin\AdminHomeController@update  

声明的路由资源:

Route::resource('home', 'AdminHomeController');

控制器更新方法

public function update(Request $request, $id)
    {
        //
    }

有人可以指出正确的方向来解决错误的原因吗?

$home->id 未定义。 如果 $home->id 未定义,那么您需要定义它,以告诉您的 Model / DB 哪个 ID 将被更新。