首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少[路由: building.floors] [URI: building/{building}/floors]的所需参数

缺少[路由: building.floors] [URI: building/{building}/floors]的所需参数
EN

Stack Overflow用户
提问于 2022-08-03 08:21:18
回答 2查看 38关注 0票数 0

我需要你的帮助。如何使用路由在以下href中写入?

我有以下路线:

Route::get('/building/{building}/floors', [BuildingController::class, 'floors'])->name('building.floors');

视图中有:

<td><a href="{{URL::to('/building/' . $building->id . '/floors') }}" class="link-primary">{{ $building->floors }}</a></td>

我试着用下面的方式写它

<td><a href="{{route('building.floors' , ['id' => $building->id])}}" class="link-primary">{{ $building->floors }}</a></td>

但是,我得到了错误,缺少了路由所需的参数: building.floors

有人能帮帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-03 08:27:12

不过,['id' => $building->id]是否应该是['building' => $building->id] (因为building是路由中变量的名称)?

票数 1
EN

Stack Overflow用户

发布于 2022-08-03 10:20:42

@Sarah你需要理解这个错误。

请始终记住,此处的Route::get('/building/{building}/floors', [BuildingController::class, 'floors'])->name('building.floors');是您的动态参数名称,因此您需要在使用此路径的任何地方在刀片中传递相同的参数{building}

如果路由是Route::get('/building/{id}/floors', [BuildingController::class, 'floors'])->name('building.floors');,我们将使用id,因为我们将{id}作为动态参数传递。

在此代码中,/building/{building}/floors,如果您的参数buidling表示的是构建id,则必须在路由文件中使用一个正确和有意义的参数名,如{building_id},并将['building_id' => $building->id]作为表示类/对象名称的生成传递,并且您试图将它的属性id作为参数传递。这有助于避免混淆,也有助于其他开发人员发现阅读和工作都很容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73218474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档