我创建了一个按钮,可以重置复选框内的所有值。这要归功于一种由于ID而执行更新的方法。
查看:
<div>
{!! Form::open(['method' => 'PUT','route' => ['checklists.updateRichiesta', $richiesta->id]]) !!}
<button type="submit" onclick="return ConfirmDelete();" class="#">
<i class="fa fa-times"></i>
</button>
{!! Form::close() !!}
</div>
ChecklistController:
public function updateRichiesta(Request $request, $id)
{
\App\Checklist::where('richiesta_id', $id)->update(['isCheck' => 'false']);
\App\Richiesta::where('id', $id)->update(['stato' => 1]);
return Redirect::back();
}
Route.php
Route::resource('checklists', 'ChecklistController');
错误:
Route [checklists.updateRichiesta] not defined.
我该如何解决这个问题?
答案 0 :(得分:0)
使用resource
路由时,更新路由的名称为update
。因此,将路径名称更改为:
'route' => ['checklists.update', ...
将控制器方法重命名为update
:
public function update(Request $request, $id)
https://laravel.com/docs/5.5/controllers#resource-controllers
答案 1 :(得分:0)
像这样编辑表单开头标记:
{!! Form::open(['method' => 'PUT','route' => ['checklists.update', $richiesta->id]]) !!}
或将updateRichiesta方法添加到您的控制器
答案 2 :(得分:0)
由于它是资源,您必须使用资源语法来定义路由。
https://laravel.com/docs/5.5/controllers#resource-controllers
在这种情况下,您可以通过以下方式呼叫路线:
{!! Form::open(['method' => 'PUT','route' => ['checklists.update', $richiesta->id]]) !!}