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

Laravel中Guzzle获数据后,Blade视图如何访问嵌套数组?

问题解决方法

错误原因

你犯了两个关键错误:

  1. 嵌套数组的键名记错了:实际是SODTL,不是你以为的TL
  2. SODTL是数组套数组结构,它的第一个元素是索引为0的子数组,不能直接访问SODTL['Dtl']

正确访问方式

直接访问(确保SODTL有数据时可用)

{{ $data['SODTL'][0]['Dtl'] }}

安全访问(避免空值报错)

用Laravel自带的data_get辅助函数,即使某个层级不存在也不会抛出错误,还能设置默认值:

{{ data_get($data, 'SODTL.0.Dtl') }}
// 带默认值的写法
{{ data_get($data, 'SODTL.0.Dtl', '无明细数据') }}

为什么之前的写法报错

  • {{ $data['TL']['Dtl'] }}:$data里根本没有TL这个键,所以报"Undefined array key 'Dtl'"(本质是找不到TL)
  • {{ $data->TL['Dtl'] }}:你用json_decode($res->getBody(), true)把返回值转成了数组,不是对象,不能用->的对象属性访问方式,所以报"Attempt to read property 'TL' on array"

附你的数据结构参考

从dump的结果可以明确看到层级关系:

array:41 [▼
  "Key" => 31454
  "DocNo" => "SO-000275"
  "AOQty" => 0.0
  "SODTL" => array:1 [▼
    0 => array:21 [▼
      "Dtl" => 31455
      // ...其他字段
    ]
  ]
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 09:01:09