1

我在将对象传递给 Laravel 4 中的“编辑”视图时遇到问题。正确生成了 URL“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->id 的标题:

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

我在这里想念什么?

4

2 回答 2

1

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

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

希望这可以帮助。

于 2013-11-13T19:08:13.503 回答
1

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

<a href = "{{ action('OfferController@edit', array($offer->id)) }}">Edit</a>
于 2013-11-13T17:53:09.437 回答