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

Laravel中如何将指定JSON数据渲染为下拉选择框

解决Blade模板中生成下拉选择框的问题

嘿,我来帮你搞定这个下拉框的需求!你的Controller代码其实已经做对了第一步——把JSON数据转成关联数组传给视图,接下来只需要调整Blade里的循环逻辑就行,没必要嵌套两层foreach。

修正后的Blade代码

<select name="name">
    <!-- 可选:添加默认提示选项,提升用户体验 -->
    <option value="">Select a person</option>
    @foreach ($data as $person)
        <option value="{{ $person['identifier'] }}">
            {{ $person['fullName']['en'] }}
        </option>
    @endforeach
</select>

代码说明

  • 你的Controller代码是正确的:json_decode($data, true)已经把JSON字符串转成了关联数组,所以视图里的$data是包含JohnDoe和JaneDoe数据的数组。
  • 去掉了多余的内层foreach:每个$person(也就是你之前的$node)本身就是包含fullName、description、identifier的数组,直接通过键名访问对应的字段即可。
  • 使用{{ }}输出内容:Blade会自动帮你做HTML转义,避免XSS风险,这里不需要用{!! !!}。
  • 可选的默认选项:给用户一个清晰的选择提示,比空的下拉框更友好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 14:47:57