我在学LaravelapiResource.我的页面返回404.我需要我的第二个路径成为一个变量,因为它将显示产品的子类别,因此它需要根据从ProductID传递的ID向下钻取.

/products - shows the parent products (ie.transport)
/products/{id} - shows (ie.cars)
/products/{id}/{car-types} - shows (ie.sports-cars, luxury-cars, 4wd)
/products/{id}/{car-types}/{id} - shows (ie. the actual car)

Routes

Route::apiResource('/products', ProductController::class);
Route::apiResource('/products.{product-types}', ProductTypeController::class);

推荐答案

你可以做这样的事情

Routes

Route::apiResource('products', ProductController::class)
    ->only(['index', 'show'])
    ->parameters(['products' => 'id']);

Route::apiResource('products.product-types', ProductTypeController::class)
    ->only(['index', 'show'])
    ->parameters([
        'products' => 'pid',
        'product-types' => 'id',
    ]);

URL

/products
/products/{id}
/products/{pid}/product-types
/products/{pid}/product-types/{id}

Laravel相关问答推荐

如何将错误从laravel恢复到inertiajs/vue 3应用程序?

如何使中继器项目计数动态Laravel Filament V3?

Laravel 语法 GroupBy 获取列到数组

按回车键时如何防止此功能运行?

如何使用 laravel 更新单个值

Laravel 5 - 手动分页

限制 Blade foreach 循环中的结果

在集合 laravel 中使用查询范围

我怎样才能了解更多关于我的 Laravel 排队作业(job)失败的原因?

Laravel 4 的 Cron 作业(job)

在 Laravel 中无效后防止重定向到主页

如何创建具有关系的 Eloquent 模型?

干预图像:直接从带有原始文件名和分机的网址保存图像?

Laravel 说 Auth guard [] 没有定义

Laravel 存储文件的公共 url

Blade 中的条件扩展

Laravel 5 - 跳过迁移

如何在特定项目中禁用初始化 JS/TS 语言功能?

以编程方式而不是从 CLI 运行 Laravel 5 seeder

phpunit 命令不适用于 Windows 7 上的 laravel 4