Laravel Blade中如何获取嵌套对象的value值?循环取值异常求助
解决Laravel Blade中嵌套对象value获取问题
你代码里有两处错误导致无法正确获取内层value:
外层key的格式化未正确输出
原代码里的ucFirst($key)既没有用Blade的{{ }}包裹输出,而且PHP的正确函数名是ucfirst()(首字母小写f),这部分不会被执行,只会原样显示文本。内层value的访问方式错误
循环里的$key是外层的键名(比如"swift"),你写的$key()?['value']完全不符合语法,应该用循环变量$item来访问内层的value属性——因为$item才是对应每个外层key的嵌套对象/数组。
修正后的完整代码
如果$item是数组结构(比如从JSON解析而来),用数组下标访问:
@foreach ($transfer->beneficiary->details as $key => $item) <li class="list-group-item d-flex flex-wrap justify-content-between"> <span>{{ ucfirst(str_replace('_', ' ', $key)) }}</span> <span class="text--info font-weight-bold">{{ $item['value'] }}</span> </li> @endforeach
如果$item是对象结构(比如Eloquent模型或转换后的对象),用属性访问:
@foreach ($transfer->beneficiary->details as $key => $item) <li class="list-group-item d-flex flex-wrap justify-content-between"> <span>{{ ucfirst(str_replace('_', ' ', $key)) }}</span> <span class="text--info font-weight-bold">{{ $item->value }}</span> </li> @endforeach
另外额外优化了key的显示:用str_replace('_', ' ', $key)把下划线替换成空格,比如routing_number会变成Routing number,显示更友好。
内容的提问来源于stack exchange,提问作者Icefall007
相关产品推荐
相关产品推荐

