“缺少一些强制性参数”Laravel 4

时间:2013-11-13 17:48:12

标签: php laravel laravel-4

我无法将对象传递到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>

我在这里缺少什么?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

您的编辑功能需要更改。您正在链接中传递ID,但预计Offer中的edit实例将起作用。假设OfferEloquent模型,

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

希望这有帮助。