Php 在laravel中使用get using Route::resource()删除
我尝试在laravel中使用GET而不是delete进行删除,因为我的共享服务器不支持delete动词 所以,我用 在我的routes.php中,我使用Php 在laravel中使用get using Route::resource()删除,php,laravel-5.1,laravel-routing,Php,Laravel 5.1,Laravel Routing,我尝试在laravel中使用GET而不是delete进行删除,因为我的共享服务器不支持delete动词 所以,我用 在我的routes.php中,我使用 Route::resource('users', 'UserController'); 比如说 所以,当我使用GET而不是DELETE时,系统认为我将使用show方法,而不是destroy方法 我看到的唯一方法是不使用资源方法来路由,并详细说明我的所有路由,但我不喜欢它,它有点难以阅读 是否可以继续使用resource()并有一个自定义的路
Route::resource('users', 'UserController');
比如说
所以,当我使用GET而不是DELETE时,系统认为我将使用show方法,而不是destroy方法
我看到的唯一方法是不使用资源方法来路由,并详细说明我的所有路由,但我不喜欢它,它有点难以阅读
是否可以继续使用resource()并有一个自定义的路由进行销毁
德克萨斯州 HTML表单实际上不支持
PUT
、PATCH
或DELETE
操作;它们只支持GET
或POST
请求
相反,Laravel伪造了该方法,允许您使用一个隐藏的\u方法
字段来使用这些方法,您可以在中读取该字段
使用Route::resource
将自动将DELETE
方法路由到控制器中的destroy
功能
如果正在使用,则可以在表单::open()
中使用以下命令指定删除方法:
{!!表单::打开(['method'=>'DELETE'])!!}
如果您没有这样做,那么您可以简单地在HTML表单中像这样包含它{{method\u field('DELETE')}
如果您没有欺骗它并使用GET
请求,那么Route::resource
将把它与控制器中的show
功能相关联
使用按钮执行此操作
{!! Form::open(['method' => 'DELETE']) !!}
{!! Form::submit('Delete') !!}
{!! Form::close() !!}
一个选项是将
Route::resource
与except
参数一起使用,并根据需要自定义例外路由
例如:
Route::resource('product,'ProductController',['except'=>['destroy']]);
路由::get('product/{id}/destroy','ProductController@destroy');代码>
还没有找到更好的解决方案。我使用链接而不是表单:你不能使用链接,它必须是表单-但你可以做其他事情使其显示为按钮-上面的编辑示例。我已更正,无论哪种方式,如果您在单击链接时发送一个GET
请求,Route::resource
.nop都不会拾取该请求。我发现不描述所有路由的唯一方法是在show方法中插入删除代码,如果需要显示对象的详细信息,则添加额外的路由。。。这就是我写这篇文章的原因