我无法将对象传递到Laravel 4中的“编辑”视图。网址生成正确“localhost / edit / 1”但是这是返回的错误:
Some manadatory parameters are missing ("offer") to generate a URL for route "get edit/{offer}
我的相关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-&gt; id的标题:
<h1>Edit Offer {{ $offer->id }}</h1>
我在这里缺少什么?
答案 0 :(得分:1)
您需要将数组传递给action()
:
<a href = "{{ action('OfferController@edit', array($offer->id)) }}">Edit</a>
答案 1 :(得分:1)
您的编辑功能需要更改。您正在链接中传递ID,但预计Offer
中的edit
实例将起作用。假设Offer
是Eloquent
模型,
public function edit($id)
{
$offer = Offer::find($id);
return View::make('edit',compact('offer'));
}
希望这有帮助。