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

Laravel如何从MySQL JSON字段的options数据中获取option键值且不使用foreach

问题原因

你的options字段解析后的数组不是从0开始的连续索引数组,首个元素的键为1,所以用[0]下标访问自然会触发Undefined array key 0错误。

解决方案(无需foreach遍历)

前置配置

先确保你的Question模型已经配置了JSON字段自动转换,在模型的$casts属性中添加配置:

protected $casts = [
    // 可选值为array(转数组)或collection(转Laravel集合)
    'options' => 'array',
];

方法1:重置数组索引后访问

用array_values重置数组的键为从0开始的连续索引,直接取下标0即可:

{{ array_values($question->options)[0]['option'] }}

方法2:用Laravel集合取首个元素

如果已经将options cast为集合,或者手动转集合调用first()方法拿第一个元素:

{{ collect($question->options)->first()['option'] }}
// 已经cast为collection的写法更简洁
{{ $question->options->first()['option'] }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 08:45:03