Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel中使用get using Route::resource()删除_Php_Laravel 5.1_Laravel Routing - Fatal编程技术网

Php 在laravel中使用get using Route::resource()删除

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()并有一个自定义的路

我尝试在laravel中使用GET而不是delete进行删除,因为我的共享服务器不支持delete动词

所以,我用

在我的routes.php中,我使用

 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方法中插入删除代码,如果需要显示对象的详细信息,则添加额外的路由。。。这就是我写这篇文章的原因