Php &引用;缺少一些必需的参数";拉维尔4号

Php &引用;缺少一些必需的参数";拉维尔4号,php,laravel,laravel-4,Php,Laravel,Laravel 4,在Laravel4中,我无法将对象传递到我的“编辑”视图。URL正确生成为“localhost/edit/1”,但这是返回的错误: Some manadatory parameters are missing ("offer") to generate a URL for route "get edit/{offer} My related routes.php代码段: Route::get('edit/{offer}','OfferController@edit'); OfferContr

在Laravel4中,我无法将对象传递到我的“编辑”视图。URL正确生成为“localhost/edit/1”,但这是返回的错误:

Some manadatory parameters are missing ("offer") to generate a URL for route "get edit/{offer}
My related routes.php代码段:

Route::get('edit/{offer}','OfferController@edit');
OfferController@edit行动:

public function edit(Offer $offer)
{
    return View::make('edit',compact('offer'));
}
只是一些额外的细节,以下是启动操作的“索引”视图的片段:

<a href = "{{ action('OfferController@edit', $offer->id) }}">Edit</a>

我还应该提到,当我在“/views/edit.Blade.php”中删除Blade表单时,会创建视图,包括指定$offer->id:

<h1>Edit Offer {{ $offer->id }}</h1>
Edit Offer{{$Offer->id}

我错过了什么

您需要将数组传递给
action()


您的编辑功能需要更改。您正在链接中传递id,但在
edit
函数中需要
Offer
的实例。假设
报价
是一个
雄辩的
模型

public function edit($id)
{
    $offer = Offer::find($id);
    return View::make('edit',compact('offer'));
}

希望这有帮助。

我不知道这是否是您的问题,但在您的过程中,您的大括号不匹配,
{]
,同样,在你的编辑功能中,你在
compact
中的报价后丢失了一个勾号。感谢你指出这一点,但代码中不是这样的。我的dev笔记本电脑当时没有互联网,我不得不从桌面上发布。我尝试过,同样的错误。我还尝试过更改OfferController@edit接受正义的行动$offer作为一个参数,这也不起作用。我正在以一个引用字符作为字符,但它不起作用。只是在此处测试它以确保它起作用。因此,您必须在您的端执行一些不同的操作。必须更改一些名称,但:
public function edit($id)
{
    $offer = Offer::find($id);
    return View::make('edit',compact('offer'));
}