在laravel routes.php
文件,我有下面的代码:
// User Resourceful Routing
Route::resource('user','UserController');
默认情况下delete
路线去的UserController
show
方法。为了克服这个问题,我已经在laravel routes.php
写这条路线:
// Delete Users Route
Route::get('user/{user}/{flag}', ['uses' => '[email protected]', 'as'=>'user.destroy'])->before('permission:user_delete');
它仍然工作正常,我,但有时(2出来的10倍),它进入的UserController
show
方法,而不是destroy
方法。
// Destroy method
public function destroy($id,$flag='normal'){
}
您的建议非常感谢。
使用资源控制器时,您必须使用正确的HTTP方法,例如GET,POST,DELETE。如果你没有在请求中使用'DELETE'方法,Laravel会认为你正在使用'GET'方法,并将调用'show()'而不是'destroy()'。 –
@MikeRockett:我知道这一点,但通过API您可以选择删除方法,但浏览器没有删除方法。当你通过浏览器发出请求时,就会出现这个问题。 –
它有时只发生。其他时候它对我来说工作得很好。 –