tp5.1 foreach在控制器记录中新增加一个字段,其它字段不变也不用重新全部写一遍 (不在模板中操作)(分页)

本文深入探讨了ThinkPHP5.1框架下数据处理与展示的方法,包括控制器中数据集的构建与遍历,以及在模板中如何优雅地显示数据,通过实例展示了如何使用foreach和volist进行数据处理,适用于后端开发人员学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、控制器

        $rs=Db::name('admin')->field('id,name,group_id,role_id,img')->where($where)->where('deleted',0)->order(['id'=>'desc'])->paginate($limit,false,['query' => request()->param()]);
        foreach($rs as $key=>$v){
        	$adminid_rs=Db::name('user_distribution_attendance')->where('adminid',$v['id'])->select();
        	
        	$v['cid'] = count($adminid_rs);
        	$rs[$key] = $v;
        }
		$page = $rs->render();			
		$this->assign('page', $page);
		$this->assign('rs',$rs);

cid就是增加字段

2、模板

  {volist name="rs" id="rs"}
        <tr>
		      <td>{$rs.id}</td>
		      <!--<td>{$rs.id}</td>-->
		      <td>{$rs.name} <button class="layui-btn layui-btn-xs layui-btn-normal">课堂学生追踪<span class="layui-badge layui-bg-gray">{$rs.cid}</span></button></td>
		      <td>{$rs.group_id}</td>
		      <td>
							{switch $rs.role_id }
							    {case 1 }教务/助教{/case}
							    {case 2}班主任{/case}
							    {case 3}讲师{/case}
							    {case 4}管理员{/case}
							    {case 9}创始人{/case}
							    {default /}员工
							{/switch}
		      </td>
              <td>
                {if condition="$rs['img'] neq ''"}
                <img style="float:left;" src="/uploads/{$rs.img}" width="25px" height="25px">
                {else /}
                暂无上传头像
                {/if}
              </td>
          <!--<td>{$rs.tel}</td>-->
		      <!--<td>{$rs.time}</td>-->
		    </tr>
  {/volist}

例子2:

		foreach($list as $k => $v){
			$v['jindu'] = $v['count_total']==0?0:ceil($v['count_total_finish']/$v['count_total']*100);
			foreach($v['catalogue_list'] as $k1 => $v1){
				$v1['jindu'] = $v1['total']==0?0:ceil($v1['total_finish']/$v1['total']*100);
				$v1['expire_status'] = 0;
				foreach($v1['child'] as $k2 => $v2){
					if($v2['expire_tag']=='正在直播'){
						$v1['expire_status'] = 1;
					}
					$v2['time'] = date('H:i',strtotime($v2['starttime'])).'-'.date('H:i',strtotime($v2['endtime']));
					$v2['day'] = date('Y-m-d',strtotime($v2['starttime']));
					$v1['child'][$k2] = $v2;
				}
				$v['catalogue_list'][$k1] = $v1;
			}
			$list[$k] = $v;
		}

 

tp5.1 记录集(多表关联) 循环数据 foreach volist 不在模板中写原生PHP语句

https://blog.csdn.net/haibo0668/article/details/88390614

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值