zoukankan      html  css  js  c++  java
  • thinkphp5.0.20多表联查以及分页

    直接上代码,大家可以参考下

        public function collectWorkList()
        {
            $user_id = input('param.user_id');
    
            //当前页码,默认为第一页
            $pageNum = empty(input('param.pageNum')) ? 1 : input('param.pageNum');
            //每页数量
            $numPerPage = 8;
    
    
            //测试数据
            // $user_id = 1;
            // $pageNum = 1;
            // $numPerPage = 1;
    
    
            if(empty($user_id)){
                $result['code'] = 2;
                $result['msg'] = '暂无用户信息!';
                return json($result);
            }
    
            //起始数据
            $index = ($pageNum-1)*$numPerPage;
    
            $where['a.user_id'] = $user_id;
            $where['a.is_cancel'] = 0;
    
            $now = Db::table('user_collect a')
                ->join('work b','a.work_id=b.id','LEFT')
                ->where($where)
                ->order(['b.is_urgent'=>'desc','b.addtime'=>'desc'])
                ->field('a.id,a.work_id,a.addtime,b.title,b.detailaddress,b.work_time,b.is_urgent,b.cost_type,b.cost,b.addtime baddtime')
                ->limit($index,$numPerPage)
                ->select();
    
            $total = Db::table('user_collect a')
                ->join('work b','a.work_id=b.id','LEFT')
                ->where($where)
                ->order(['b.is_urgent'=>'desc','b.addtime'=>'desc'])
                ->count('a.id');
    
            $nowTotal = count($now);
    
            if($nowTotal>0){
                foreach ($now as $k=>$v){
                    $danwei = $v['cost_type'] == 0 ? '小时' : ($v['cost_type'] == 1 ? '其他' : '月');
                    $now[$k]['newPrice'] = "{$v['cost']}元/{$danwei}";
                }
            }
            $result['total'] = $total;
            $alreadyLoad = ($pageNum-1)*$numPerPage + $nowTotal;
            if($nowTotal>0){
                if($total-$alreadyLoad<=0){
                    $result['havenums'] = 0;
                }else{
                    $result['havenums'] = $total-$alreadyLoad;
                }
                $result['collectList'] = $now;
                $result['code'] = 1;
            }else{
                 $result['collectList'] = [];
                $result['code'] = 2;
            }
    
            return json($result);
    
        }
  • 相关阅读:
    Golang判断文件/文件夹是否存在
    Golang将一个文件中的内容写入到另一个文件里
    Golang打开已存在的文件并覆盖其内容
    Golang打开文件并写入
    【正则】day01
    【正则】day02
    【day09】PHP
    【day08】PHP
    转换函数
    变量作用域
  • 原文地址:https://www.cnblogs.com/lyzaidxh/p/10233016.html
Copyright © 2011-2022 走看看