restful 路由或者路由分组问题

Route::group([
    'middleware'  =>  ['auth:sanctum']
],  function  ()  {
    // 货物
    Route::resource('cargo', CargoController::class);
    Route::get('/cargo/options', [CargoController::class, 'options']);
});

在采用了restful路由的控制器内添加一个options接口 请求报错

public function options()
{
    dd(1);
}
"message": "No query results for model [App\\Models\\Cargo] options",

我不清楚是因为路由组还是restful API
只要把下边这个路由移出权限路由组就可以正常查询到数据

Route::get('/cargo/options', [CargoController::class, 'options']);

Route::group([
    'middleware'  =>  ['auth:sanctum']
],  function  ()  {
    // 货物
    Route::resource('cargo', CargoController::class);
});
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

路由冲突了,到不了 /cargo/options,被前面的 GET /cargo/{cargo} 劫持了,换个顺序放到前面就好了,和分组没关。

7个月前 评论
肌无力猛男 (楼主) 7个月前
肌无力猛男 (楼主) 7个月前
讨论数量: 5

路由冲突了,到不了 /cargo/options,被前面的 GET /cargo/{cargo} 劫持了,换个顺序放到前面就好了,和分组没关。

7个月前 评论
肌无力猛男 (楼主) 7个月前
肌无力猛男 (楼主) 7个月前
yjrowe

加个where,Route::resource('cargo', CargoController::class)->where(['cargo' => '[0-9]+']);

7个月前 评论
肌无力猛男 (楼主) 7个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!