Laravel 5 Laravel5.6-不需要的路线
我的EmployeeCOntroller的view edit.blade有问题 Edit.blade.phpLaravel 5 Laravel5.6-不需要的路线,laravel-5,routes,Laravel 5,Routes,我的EmployeeCOntroller的view edit.blade有问题 Edit.blade.php <form method="PUT" action="{{ route('employees.update', $employee_detail->id) }}" aria-label="{{ __('Edit') }}" enctype="multipart/form-data"> 雇员控制员 public function update(Request $req
<form method="PUT" action="{{ route('employees.update', $employee_detail->id) }}" aria-label="{{ __('Edit') }}" enctype="multipart/form-data">
雇员控制员
public function update(Request $request, $id)
我不知道为什么,但是对我的控制器上的destroy()函数的请求
我已经完成了php artisan route:list
+--------+----------+-------------------------------------+--------------------------------+------------------------------------------------------------------------+----------------------------------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------------------------------------+--------------------------------+------------------------------------------------------------------------+----------------------------------------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | _debugbar/assets/javascript | debugbar.assets.js | Barryvdh\Debugbar\Controllers\AssetController@js | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
| | GET|HEAD | _debugbar/assets/stylesheets | debugbar.assets.css | Barryvdh\Debugbar\Controllers\AssetController@css | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
| | DELETE | _debugbar/cache/{key}/{tags?} | debugbar.cache.delete | Barryvdh\Debugbar\Controllers\CacheController@delete | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
| | GET|HEAD | _debugbar/clockwork/{id} | debugbar.clockwork | Barryvdh\Debugbar\Controllers\OpenHandlerController@clockwork | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
| | GET|HEAD | _debugbar/open | debugbar.openhandler | Barryvdh\Debugbar\Controllers\OpenHandlerController@handle | Barryvdh\Debugbar\Middleware\DebugbarEnabled |
| | GET|HEAD | admin | admin | App\Http\Controllers\Back\AdminController@index | web |
| | GET|HEAD | admin/employee | employees.index | App\Http\Controllers\Back\EmployeeController@index | web,auth |
| | GET|HEAD | admin/employee/create | employees.create | App\Http\Controllers\Back\EmployeeController@create | web,auth |
| | POST | admin/employee/create | employees.store | App\Http\Controllers\Back\EmployeeController@store | web,auth |
| | GET|HEAD | admin/employee/show/{id} | employees.show | App\Http\Controllers\Back\EmployeeController@show | web,auth |
| | GET|HEAD | admin/employee/{id} | employees.delete | App\Http\Controllers\Back\EmployeeController@destroy | web,auth |
| | PUT | admin/employee/{id} | employees.update | App\Http\Controllers\Back\EmployeeController@update | web,auth |
| | POST | admin/employee/{id}/dossiers/create | create.document.employee.store | App\Http\Controllers\Back\DossierController@dossiers_employees_store | web |
| | GET|HEAD | admin/employee/{id}/dossiers/create | create.document.employee.show | App\Http\Controllers\Back\DossierController@dossiers_employees_create | web |
| | GET|HEAD | admin/employee/{id}/edit | employees.edit | App\Http\Controllers\Back\EmployeeController@edit | web,auth |
| | GET|HEAD | admin/entreprise | entreprises.index | App\Http\Controllers\Back\EntrepriseController@index | web,auth |
| | POST | admin/entreprise/create | entreprises.store | App\Http\Controllers\Back\EntrepriseController@store | web,auth |
| | GET|HEAD | admin/entreprise/create | entreprises.create | App\Http\Controllers\Back\EntrepriseController@create | web,auth |
| | GET|HEAD | admin/entreprise/show/{id} | entreprises.show | App\Http\Controllers\Back\EntrepriseController@show | web,auth |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | home | home | App\Http\Controllers\HomeController@index | web,auth |
| | POST | login | | App\Http\Controllers\Auth\LoginController@login | web,guest |
| | GET|HEAD | login | login | App\Http\Controllers\Auth\LoginController@showLoginForm | web,guest |
| | POST | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | GET|HEAD | logout | logout | App\Http\Controllers\Auth\LoginController@logout | web |
| | POST | password/email | password.email | App\Http\Controllers\Auth\ForgotPasswordController@sendResetLinkEmail | web,guest |
| | GET|HEAD | password/reset | password.request | App\Http\Controllers\Auth\ForgotPasswordController@showLinkRequestForm | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\ResetPasswordController@reset | web,guest |
| | GET|HEAD | password/reset/{token} | password.reset | App\Http\Controllers\Auth\ResetPasswordController@showResetForm | web,guest |
| | GET|HEAD | register | register | App\Http\Controllers\Auth\RegisterController@showRegistrationForm | web,guest |
| | POST | register | | App\Http\Controllers\Auth\RegisterController@register | web,guest |
+--------+----------+-------------------------------------+--------------------------------+------------------------------------------------------------------------+----------------------------------------------+
和php artisan路线:清除
我也尝试过:
<form method="POST" action="{{ route('employees.update', $employee_detail->id) }}" aria-label="{{ __('Edit') }}" enctype="multipart/form-data">
@method('PUT')
@csrf
@方法('PUT')
@csrf
并使web.php中设计的路由保持不变
还是没用。
继续分派到destroy()而不是update()
有人有主意吗
谢谢大家 这是因为你想做的事和你期待的事 在路由文件中尝试以下操作:
Route::put('/employee/{id}', 'EmployeeController@update')->name('employees.update');
如果您想知道“PUT”和“PATCH”HTTP动词之间的区别,我会添加一个链接:
HTML表单不支持放置、修补或删除操作。因此,在定义从HTML表单调用的PUT、PATCH或DELETE路由时,需要向表单中添加隐藏的_方法字段。与_method字段一起发送的值将用作HTTP请求方法:
<form action="{{ route('employees.update', $employee_detail->id) }}" method="POST">
<input type="hidden" name="_method" value="PUT">
</form>
您可以使用@method Blade指令生成_方法输入:
<form action="{{ route('employees.update', $employee_detail->id) }}" method="POST">
@method('PUT')
</form>
@方法('PUT')
我已经在我的路线上添加了更新和删除,它现在已经工作了
Route::put('/employee/{id}/update', 'EmployeeController@update')->name('employees.update');
Route::get('/employee/{id}/delete', 'EmployeeController@destroy')->name('employees.delete');
对我来说很奇怪…谢谢你的快速回复。它将继续重定向到destroy()。路由{131}员工控制器{272}“销毁”。我刚刚考虑过,希望你的路由被缓存。在控制台中探索这一点:
php artisan route
我已经这样做了:php artisan route:clear和route:list但不起作用Yett尝试像输入一样发送方法:代码>我想可能是因为“PUT”放在了方法表单中,这里让您看看一些与laravel相关的文档
| PUT | admin/employee/{id}/update | employees.update | App\Http\Controllers\Back\EmployeeController@update | web,auth
| GET|HEAD | admin/employee/{id}/delete | employees.delete | App\Http\Controllers\Back\EmployeeController@destroy | web,auth |
Route::put('/employee/{id}/update', 'EmployeeController@update')->name('employees.update');
Route::get('/employee/{id}/delete', 'EmployeeController@destroy')->name('employees.delete');