在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>
web.php
//The route which I am using
Route::get('/detail/{$id}', 'DetailController@show')->name('detail.show');
DetailController.php
public function show($id)
{
dd($id);
}
}
在DD中,我想获取ID,以便可以从数据库中获取仅显示404的数据
答案 0 :(得分:1)
您的路线是错误的,因为您在参数中使用$
而不是在路线中使用{$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>
谢谢
答案 1 :(得分:1)
从URL或通过路线中删除“ /”
<a href="detail/{{$roomdetail->id}}" class="btn btn-primary ">Detail</a>
OR
<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');