You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Blade视图中如何获取路由参数{item}的ID值?

解决Blade视图获取{item}对应ID的问题

首先,你的show方法已经通过路由模型绑定把对应的Item实例传递到视图里了,所以在Blade视图中直接访问这个实例的id属性就行:

{{ $item->id }}

补充说明:

  • 你的路由Route::get('/items/{item}', 'ItemsController@show');使用了Laravel的路由模型绑定,当访问/items/1这类URL时,Laravel会自动根据ID查找对应的Item模型实例,然后注入到show方法的$item参数中。
  • 你在show方法里用compact('item')把这个实例传给了视图,所以视图里已经存在$item变量,直接调用->id就能拿到对应的ID值。

顺便提一下你控制器的小问题:

你的index方法里有个明显的错误:

public function index() { 
    $item = Post::get(); // get()返回的是Post模型的集合(多条记录)
    $price = $item->price; // 集合没有price属性,这里会抛出错误
    return view('item'); 
}

如果index方法是要展示所有商品,建议把变量名改成$items(复数形式更语义化);如果是要展示单个商品,应该用find()或first()来获取单个模型实例。

内容的提问来源于stack exchange,提问作者Parzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:45:30