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

Laravel中如何将Controller传递的变量在Blade模板表格中展示

Blade模板渲染JSON格式号码数据实现方案

你当前控制器传入视图的$numbers为json_encode处理后的JSON字符串,在模板中先将其解码为PHP数组,再做遍历渲染即可生成表格,具体实现如下:

模板代码参考(对应文件resources/views/show/numbers.blade.php)

@php
    // 将JSON字符串转为关联数组,第二个参数true固定传,确保返回数组而非对象
    $numberList = json_decode($numbers, true);
@endphp

<table style="width: 100%;border-collapse: collapse;">
    <thead>
        <tr>
            <!-- 表头可根据接口实际返回的字段调整,以下为通用示例 -->
            <th style="border: 1px solid #ccc;padding: 8px;text-align: left;">序号</th>
            <th style="border: 1px solid #ccc;padding: 8px;text-align: left;">号码</th>
        </tr>
    </thead>
    <tbody>
        {{-- 做数据合法性判断,避免空数据报错 --}}
        @if(is_array($numberList) && count($numberList) > 0)
            @foreach($numberList as $index => $item)
                <tr>
                    <td style="border: 1px solid #ccc;padding: 8px;">{{ $index + 1 }}</td>
                    <td style="border: 1px solid #ccc;padding: 8px;">
                        {{-- 兼容一维数组、二维数组两种返回结构,按需调整字段名 --}}
                        {{ is_array($item) ? ($item['number'] ?? $item['mobile'] ?? '-') : $item }}
                    </td>
                </tr>
            @endforeach
        @else
            <tr>
                <td colspan="2" style="border: 1px solid #ccc;padding: 8px;text-align: center;color: #999;">暂无号码数据</td>
            </tr>
        @endif
    </tbody>
</table>

可选优化项

  • 建议去掉控制器中多余的json_encode转换,直接把数组传给视图,减少模板层解码开销,控制器调整后代码:
$response = (new ApiController)->checkNumbers();
$numbers = [];
if(!empty($response['status']) && $response['status'] == 'SUCCESS') {
    $numbers = $response['numbers'];
}
return [
    'html' => view('show.numbers', compact('numbers'))->render()
];

调整后模板可删除json_decode相关代码,直接遍历$numbers变量即可。

  • 表格样式可替换为项目现有UI框架的类名(如Bootstrap的table类、Tailwind工具类),和全站风格保持统一。
  • 若接口返回的numbers包含更多字段(如归属地、状态、创建时间),直接在表头和<td>中对应增加列、取对应键值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:15:54