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

Laravel控制器向视图传数组:如何获取recipients属性

解决Laravel Blade中访问二维数组字段的问题

你的postData里的recipients是二维数组(数组里嵌套了多个子数组),不像message是单个字符串值,所以不能直接用{{$postData['recipients']['dest_addr']}}这种写法,得根据需求用下面的方法:

1. 访问单个收件人的字段

如果你只需要取某一个收件人(比如第一个),可以通过数组索引直接访问(索引从0开始):

{{-- 第一个收件人的ID --}}
{{ $postData['recipients'][0]['recipient_id'] }}

{{-- 第一个收件人的地址 --}}
{{ $postData['recipients'][0]['dest_addr'] }}

2. 遍历所有收件人并显示/生成表单字段

如果要展示所有收件人或者生成对应表单输入框,用Blade的@foreach循环遍历recipients数组:

{{-- 遍历所有收件人 --}}
@foreach($postData['recipients'] as $recipient)
    <div class="recipient-item">
        {{-- 收件人ID输入框 --}}
        <label>收件人ID:</label>
        <input type="text" name="recipients[][recipient_id]" value="{{ $recipient['recipient_id'] }}">

        {{-- 收件人地址输入框 --}}
        <label>目标地址:</label>
        <input type="text" name="recipients[][dest_addr]" value="{{ $recipient['dest_addr'] }}">
    </div>
@endforeach

这里用name="recipients[][xxx]"的命名方式,提交表单后后端会自动把数据组装成二维数组,和你原有的postData['recipients']结构一致。

3. 处理空数组的情况(可选)

如果recipients可能为空,建议先判断再遍历,避免报错:

@if(!empty($postData['recipients']))
    @foreach($postData['recipients'] as $recipient)
        {{-- 这里放循环内容 --}}
    @endforeach
@else
    <p>暂无收件人</p>
@endif

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:02:15