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

Laravel中如何获取社区名称并渲染到对应信息卡片中

解决社区名称无法在卡片中显示的问题

问题根源

你已经通过分组查询获取了所有社区名称并生成对应数量的卡片,但Blade视图中没有输出具体的社区名称字段,导致卡片里看不到社区名称。

修改方案

1. 基础版:先解决社区名称显示问题

直接在Blade视图的卡片标题位置输出循环项的社区名称字段即可:

<div class="row">
@foreach ($getsocietyname as $item)
    <div class="col-md-4 col-sm-6 col-lg-3">
        <div class="card" style="width: 18rem;">
        <div class="card-header">
            <strong>{{ $item->society }}</strong> {{-- 替换原固定文本为社区名称 --}}
        </div>
        <ul class="list-group list-group-flush">
            <li class="list-group-item">Total Customer</li>
            <li class="list-group-item">Active Customer</li>
        </ul>
        </div>
    </div>
@endforeach
</div>

2. 进阶版:合并查询,同时获取客户统计数据

你原本单独查询了活跃客户数据,可以合并成一次查询,直接获取每个社区的总客户数和活跃客户数,避免重复查询数据库:

// 一次性获取每个社区的名称、总客户数、活跃客户数
$getsocietyname = DB::table('Customer')
    ->select(
        'society',
        DB::raw('COUNT(*) as total_customers'), // 统计当前社区总客户数
        DB::raw('SUM(CASE WHEN status = "active" THEN 1 ELSE 0 END) as active_customers') // 统计当前社区活跃客户数
    )
    ->groupBy('society')
    ->get();

对应的Blade视图可以直接显示统计数据:

<div class="row">
@foreach ($getsocietyname as $item)
    <div class="col-md-4 col-sm-6 col-lg-3">
        <div class="card" style="width: 18rem;">
        <div class="card-header">
            <strong>{{ $item->society }}</strong>
        </div>
        <ul class="list-group list-group-flush">
            <li class="list-group-item">Total Customer: {{ $item->total_customers }}</li>
            <li class="list-group-item">Active Customer: {{ $item->active_customers }}</li>
        </ul>
        </div>
    </div>
@endforeach
</div>

补充说明

  • 原Controller中的select(DB::raw('society'))可以简化为select('society'),效果一致且代码更简洁。
  • 如果使用Eloquent模型(Customer::),写法和Query Builder兼容,也可以写成Customer::select('society')->groupBy('society')->get()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 06:06:24