尝试使用Laravel 5.4进行更新,因为我继续学习,但我遇到了问题,我认为它与表单操作中的路径有关。错误是NotFoundHttpException,这是uri的内容
http://127.0.0.1:8000/task/5/( '/任务/ 5')_标记= 8GPlMCXCfD5714MgtNaxQ90K6p07QSG6nKVAHNz9&安培; EMPLOYEE_ID =克里斯+洛基&安培;标题=中等+任务+电平+更新&安培;描述=更新+挑战&安培;优先级=高&安培;开始= 2017 -06-06&安培;端= 2017年6月13日
以下是我正在使用的内容
在我的web.php文件中,我有
Route::put('/task/{id}', 'TaskController@update');
在我的TaskController文件中
public function update(Request $request, $id)
{
/*$task = Task::find($id);
$task->fill($request->all);*/
dd($request);
//return view('task.view', compact('task'));
}
这就是我的形式
<form class="form-horizontal" role="form" method="PUT" action="('/task/{{$task->id}}')">
{{ csrf_field() }}
显然我做错了什么,不幸的是我在3天后无法确定它。我该如何解决这个问题?
答案 0 :(得分:2)
从laravel 5.4文档中,HTML表单无法发出PUT,PATCH或DELETE请求,您需要添加隐藏的_method字段来欺骗这些HTTP谓词。所以我在我的表单中包含了帮助器,将表单方法更改为POST并保持操作与路径相同
<form class="form-horizontal" role="form" method="PUT" action="('/task/{{$task->id}}')">
{{ csrf_field() }}
{{ method_field('PUT') }}
修正了它。
答案 1 :(得分:0)
最好这样做你的路线web.php。
Route::put('/task', [
'uses' => 'TaskController@update',
'as' => 'task.update'
]);
在您的表单中,您可以使用as
来表示您的路线,这意味着别名。
实施例
<form action="{{ route('task.update', ['id' => $task->id]) }}" method="put">