php - 如何在 Laravel 的路线中链接雄辩的关系?
问题描述
我正在 Laravel 中创建一个应用程序,它有 3 个相互关联的模型。
我在根据 id 显示特定类别的路由中遇到问题。我喜欢这样:
Route::apiResource('/categories', 'Core\CategoryController');
Route::prefix('categories')->group(function() {
Route::apiResource('/{category}/sub_categories', 'Core\SubCategoryController');
Route::prefix('sub_categories')->group(function() {
Route::apiResource('/{sub_category}/sub_sub_categories', 'Core\SubSubCategoryController');
});
});
我能够做到http://localhost:8080/api/categories/3/sub_categories
。但是,我做不到http://localhost:8080/api/categories/3/sub_categories/1/sub_sub_categories
。我无法获取类别的 ID 并将其显示在 url 中。我能做的是这个->http://localhost:8080/api/categories/sub_categories/1/sub_sub_categories
那么,如何在该 URL 中显示类别的 ID?
我试过了:
Route::prefix('/{category}/sub_categories')->group(function() {
Route::apiResource('/{sub_category}/sub_sub_categories', 'Core\SubSubCategoryController');
});
然而,这并没有按预期工作。
解决方案
你可以这样做
Route::prefix('categories')->group(function() {
Route::apiResource('/{category}/sub_categories/{sub_category}/sub_sub_categories', 'Core\SubSubCategoryController');
Route::apiResource('/{category}/sub_categories', 'Core\SubCategoryController');
});
推荐阅读
- angular - 使用 Angular 获取和订阅时,如何忽略表中的第一条记录?
- google-apps-script - 我有一个 onEdit 功能,我需要从一排复选框中搜索未选中的复选框 [Google Sheets]
- android - 如何在 GridView 中编辑文本字段(EditText)?数独解题应用
- node.js - ElasticSearch 打字稿支持
- mysql - 如何计算sql中的平均计数
- python - 一个 Wagtail 模型的多个 ModelAdmins
- r - 如何确定混合模型的第二个 beta 值,包括 H() 和 Geyer() 以使用 spatstat 进行模拟
- c# - 创建数据库克隆时出现异常
- python - 使用工厂模式时的条件参数
- python - Azure eventthub 到 NoSQL 数据库