我有链接
<a class="trashButton" href="{{ URL::route('user.destroy',$members['id'][$i]) }}" style="cursor: pointer;"><i class="fa fa-trash-o"></i></a>
这个链接应该指向 Usercontroller 的 destroy 方法,这是我的路由 Route::resource('/user', 'BackEnd\UsersController');
UserController 是一个资源 Controller 。但此时它正在将我引导到 show 方法而不是引导到 destroy 方法
最佳答案
您需要发送一个DELETE
请求而不是一个GET
请求。你不能用链接做到这一点,所以你必须使用 AJAX 请求或表单。
这是通用的表单方法:
<form action="{{ URL::route('user.destroy', $members['id'][$i]) }}" method="POST">
<input type="hidden" name="_method" value="DELETE">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<button>Delete User</button>
</form>
如果您使用的是 Laravel 5.1 或更高版本,那么您可以使用 Laravel 的内置助手来缩短您的代码:
<form action="{{ route('user.destroy', $members['id'][$i]) }}" method="POST">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<button>Delete User</button>
</form>
如果您使用的是 Laravel 5.6 或更高版本,那么您可以使用新的 Blade 指令来进一步缩短您的代码:
<form action="{{ route('user.destroy', $members['id'][$i]) }}" method="POST">
@method('DELETE')
@csrf
<button>Delete User</button>
</form>
您可以阅读更多关于 method spoofing in Laravel here. 的信息
关于php - CRUD Laravel 5如何链接到资源 Controller 的销毁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30299202/