0

在 URL 和路由中传递变量时仅返回 404,未找到#。做了一些谷歌并找到了一些结果并在youtube上尝试了一些方法它也不起作用。完全初学者到 laravel

room.blade.php

//In roomdetail->id its passing the value of room
<a href="/detail/{{$roomdetail->id}}" class="btn btn-primary ">Detail</a>

网页.php

//The route which I am using

Route::get('/detail/{$id}', 'DetailController@show')->name('detail.show');

细节控制器.php

public function show($id)
    {
        dd($id);
    }
}

在 DD 中,我想获取 Id,以便我可以从仅显示 404 的数据库中获取数据

4

2 回答 2

3

你的路线是错误的,你$在一个错误的参数中使用,而不是{$id}在路线中它应该是{id}

改变这个

Route::get('/detail/{$id}', 'DetailController@show')->name('detail.show');

Route::get('/detail/{id}', 'DetailController@show')->name('detail.show');

以及使用命名路由时的快速提示,那么如果您使用route方法将变量传递给视图中的路由会更好

所以在你看来改变这个:

<a href="/detail/{{$roomdetail->id}}" class="btn btn-primary ">Detail</a>

<a href="{{ route('detail.show', $roomdetail->id)}}" class="btn btn-primary ">Detail</a>

谢谢

于 2019-09-18T09:04:42.617 回答
1

从 URL 中删除“/”或传递路由

<a href="detail/{{$roomdetail->id}}" class="btn btn-primary ">Detail</a>

或者

<a href="{{ route('detail.show','id'=>[$roomdetail->id]) }}" class="btn btn-primary ">Detail</a>

或更改您的路线,{id}而不是{$id}

它应该是Route::get('/detail/{id}', 'DetailController@show')->name('detail.show');

于 2019-09-18T09:05:25.790 回答