0
我有一个带有两个表的数据库:table CATEGORIES有一个id,它是表PRODUCTS的fk。 当我想删除一个类别,并且表格产品中的记录与该类别ID相关联时,laravel返回405错误,我无法访问销毁方法。我如何避免405错误和访问销毁方法?Laravel 5.2 - 方法DELETE不允许(错误405)
这里是我的路由配置:
$api = app('Dingo\Api\Routing\Router');
$api->version('v1',['middleware' => ['api']], function($api){
$api->resource('categories', 'App\Http\Controllers\CategoriesController');
$api->resource('products', 'App\Http\Controllers\ProductsController');
$api->get('categories/{id}/products', 'App\Http\Controllers\[email protected]');
});
编辑
如果该类别不与任何产品相关,删除方法,所以我想它不会引发任何错误是不是一个路由问题
对于dingo api我已经使用它的命令来显示所有路由,并且该方法在列表中,所以我猜这不是注册问题 –
当你调用它时,你是否满足路由要求,可能是缺少'v1'版本控制(但是你已经实现了)或者失败了'api'中间件? – Dwight
我不认为我错过了一些路由需求,因为正如我在编辑部分中所写的那样,如果我想要删除的类别在没有任何产品的情况下没有关联,我调用的方法会按预期执行其行为。但是,我注意到,当我传递一个单一的ID的数组传递时,我得到了问题:如果我传递一个单一的ID方法工作如预期,但如果我发送一个完整的ID数组删除我得到405错误。这听起来很奇怪。 (对不起我的英文,我不是英文,所以我写我可以) –