thinkphp with带内部查询嵌套
ThinkPHP 模板双层嵌套循环详解:从主表到关联表
专门讲:ThinkPHP 模板 双层嵌套循环
就是:
一层客户 → 里面再循环他的多条订单
完美对应你现在的 用户模型 hasMany 订单
---
先记住核心逻辑
1. 外层循环:主表数据(用户 / 客户)
2. 内层循环:当前这个用户的关联订单
3. 内层写的字段,全是 order 订单表 的字段
---
一、控制器提前查好(你已经会了)
// 外层where=用户,内层where=订单
$userList = User::with([
'order' => function($q){
$q->where('status',1)->where('end_time','<','2027-01-01');
}
])->where('age','<',50)->select();
$this->assign('userList', $userList);
---
二、模板双层嵌套循环【重点!你要的】
<!-- 第一层:循环所有 用户/客户 主表 -->
{volist name="userList" id="user"}
<div class="user-item">
<!-- 主表字段:用户信息 -->
用户名:{$user.name}
年龄:{$user.age}
<!-- 第二层:嵌套循环 当前用户下面的 订单列表 关联表 -->
{volist name="$user.order" id="ord"}
<div class="order-item">
订单号:{$ord.order_sn}
订单状态:{$ord.status}
到期时间:{$ord.end_time}
</div>
{/volist}
</div>
{/volist}
---
更多推荐

所有评论(0)