我需要你的帮助。如何使用route在以下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>
但我得到错误缺少[Route:building.floors][URI:building/{building}/flowers]所需的参数。
有人能帮帮我吗?
只是猜测,但['id' => $building->id]
应该是['building' => $building->id]
吗(因为building
是路由中变量的名称(?
@Sarah您需要了解错误。
永远记住这一点Route::get('/building/{building}/floors', [BuildingController::class, 'floors'])->name('building.floors');
这里{building}
是您的动态参数名称,因此您需要在刀片中使用此路由的任何位置传递相同的参数{building}
。
如果路由是CCD_ 10,我们将使用id,因为我们将CCD_。
在这个代码/building/{building}/floors
中,如果您的参数building表示building id,那么您必须在路由文件中使用一个正确且有意义的完整参数名称,如{building_id}
,并传递['building_id' => $building->id]
作为building表示您的类/对象名称,并且您正试图将其属性id
作为参数传递。这有助于避免混淆,其他开发人员也发现它很容易阅读和处理。