thinkphp6 paginate() 分页数据处理后输出

作者:不详 分类:知识技术 浏览:675 日期:2021-12-27 来源: 网络


替换处理

<?php
//model里面的分页函数
public function pageQuery(){    
    $rs = $this->where($where)->field(true)->order('id desc')->paginate()
    ->each(function($item, $key){
        if($item['status']==1){
            $item['name1'] = $item['name2'];
        }
        $item['imgSize'] = round($item['imgSize']/1024/1024,2);
        return $item;
    });
    return $rs;
}
?>


如果each里面涉及到别的表,则代码如下:

<?php
//model里面的分页函数
public function pageQuery(){    
    $rs = $this->where($where)->field(true)->order('id desc')->paginate()   
    ->each(function($item, $key){
        $urs = Db::name('u')->where('isShow',1)->select();
        foreach ($urs as $rkey=>$rv){
            if($item['userScore']>=$rv['startScore'] && $item['userScore']<$rv['endScore']){
               $item['userRank'] = $rv['rankName'];
            }
        }
        return $item;
    });
    return $rs;
}
?>


如果each里面涉及到外部参数,则代码如下:

<?php
//model里面的分页函数
public function pageQuery(){
//从别的表获得参数值,一次获取,each中可以重复使用
$urs = Db::name('u')->where('isShow',1)->select(); 
$rs = $this->where($where)->field(true)->order('id desc')->paginate() 
->each(function($item, $key) use ($urs){ 
//使用外部传来的参数$urs
foreach ($urs as $rkey=>$rv){
if($item['userScore']>=$rv['startScore'] && $item['userScore']<$rv['endScore']){
  $item['userRank'] = $rv['rankName'];
}
}
return $item;
});
return $rs;
}
?>



本站部分信息来源网络,由于作者无法考证等因素,未注明出处,如有侵权,请联系删除。

上一篇: 《建站管家》二次开发文档

下一篇: thinkphp6.0.12通过composer安装失败原因及解决方法


发表评论
昵称 (必填)
邮箱
网址
评论 (0)
QQ客服
客服微信
加QQ群