【发布时间】:2018-02-11 20:08:36
【问题描述】:
我有一个名为 ItemController 的控制器。使用此控制器,方法store 和index 是唯一可识别的方法。当我使用方法update时,它会抛出一个错误
缺少 [Route: items.update] 所需的参数
Route.php
Route::resource('items', 'ItemsController');
ResourceRegistrar.php
protected $resourceDefaults = ['index', 'create', 'store', 'show', 'edit', 'update', 'destroy'];
html
<form role="form" method="post" action="{{ route('items.update') }}">
{!! csrf_field() !!}
<div class="form-group" style="width: 400px;">
<label for="exampleInputPassword1">Item Name</label>
<input type="text" class="form-control" id="exampleInputPassword1" name="name" value="{!! $item->name !!}" placeholder="item name" required="">
</div>
<div class="form-group" style="width: 400px;">
<label for="exampleInputPassword1">Retail Price</label>
<input type="number" step="any" class="form-control" id="exampleInputPassword1" value="{!! $item->retail_price !!}" name="retail_price" placeholder="retail price" required="">
</div>
<div class="form-group" style="width: 400px;">
<label for="exampleInputPassword1">Quantity Price</label>
<input type="number" step="any" class="form-control" id="exampleInputPassword1" value="{!! $item->quantity_price !!}" name="quantity_price"
placeholder="quantity price " required="">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
控制器
public function update(Request $request, $id)
{
$item = Item::findorFail($id);
$item->name = $request->get('name');
$item->retail_price = $request->get('retail_price');
$item->quantity_price = $request->get('quantity_price');
$item->update($request, $id);
Session()->flash('flash_message', 'Item successfully updated');
return redirect()->route('items.index');
}
这是怎么回事?
【问题讨论】:
-
请分享更多信息。请求详细信息会很好!