如何在 Laravel 5.4 中完成更新
How is update done in Laravel 5.4
我仍在学习 Laravel 并且我正在使用 5.4 版。我目前正在尝试执行更新并希望使用 dd 查看请求的内容,但我被重定向到视图页面(奇怪)。我比较了文档,我似乎做对了。下面是我提交更新表单
时捕获的url
http://127.0.0.1:8000/tasks/2?_token=gX4bBZoZ0bpMgeQ5uIbLNrIegohvAOUJmPTNjbX0&_method=PUT&employee_id=Harry+Ovie&title=update&description=Testing+task&priority=high&begin=2017%2F06%2F02&end=2017%2F06%2F05
这是我的路线列表
Route::get('/tasks', 'TaskController@index');
Route::get('/tasks/create', 'TaskController@create');
Route::post('/tasks', 'TaskController@store');
Route::get('/tasks/{id}', 'TaskController@show');
Route::get('/tasks/{id}/edit', 'TaskController@edit');
Route::put('/tasks/{id}', 'TaskController@update');
这是我的 TaskController 中的更新
public function update(Request $request, $id)
{
dd($request);
}
这就是我的表单的样子
<form class="form-horizontal" role="form" action='/tasks/{{$task->id}}'>
{{ csrf_field() }}
<input name="_method" type="hidden" value="PUT">
如何修复我的代码?
尝试发布您的表单,现在您正在执行 GET。
<form class="form-horizontal" role="form" method="post" action='/tasks/{{$task->id}}'>
HTML 表单不支持使用 PUT、PATCH 和 DELETE(以及其他一些)。
这就是 Laravel 添加和处理隐藏字段以对 POST 请求执行这些操作的原因。
我仍在学习 Laravel 并且我正在使用 5.4 版。我目前正在尝试执行更新并希望使用 dd 查看请求的内容,但我被重定向到视图页面(奇怪)。我比较了文档,我似乎做对了。下面是我提交更新表单
时捕获的urlhttp://127.0.0.1:8000/tasks/2?_token=gX4bBZoZ0bpMgeQ5uIbLNrIegohvAOUJmPTNjbX0&_method=PUT&employee_id=Harry+Ovie&title=update&description=Testing+task&priority=high&begin=2017%2F06%2F02&end=2017%2F06%2F05
这是我的路线列表
Route::get('/tasks', 'TaskController@index');
Route::get('/tasks/create', 'TaskController@create');
Route::post('/tasks', 'TaskController@store');
Route::get('/tasks/{id}', 'TaskController@show');
Route::get('/tasks/{id}/edit', 'TaskController@edit');
Route::put('/tasks/{id}', 'TaskController@update');
这是我的 TaskController 中的更新
public function update(Request $request, $id)
{
dd($request);
}
这就是我的表单的样子
<form class="form-horizontal" role="form" action='/tasks/{{$task->id}}'>
{{ csrf_field() }}
<input name="_method" type="hidden" value="PUT">
如何修复我的代码?
尝试发布您的表单,现在您正在执行 GET。
<form class="form-horizontal" role="form" method="post" action='/tasks/{{$task->id}}'>
HTML 表单不支持使用 PUT、PATCH 和 DELETE(以及其他一些)。 这就是 Laravel 添加和处理隐藏字段以对 POST 请求执行这些操作的原因。