thinkphp 分页 service化 终章

前端:

    <div class="row text-center">
        <div class="pagination">{$info->render()|raw}</div>
        <p class="text-muted">---共计<b class="text-danger">{$info->total()}</b>条---</p>
    </div>

控制器

    public function list(Pt12345Service $Pt12345Service){
        $status=$this->request->get('status/d',0);
        $info=['status'=>$status];
        $list=$Pt12345Service->search($info);

        #查询结果中将查询条件打包带入
                 $list->appends($this->request->param());

        $department=$Pt12345Service->department();
        $this->assign(['info'=>$list,"department"=>$department]);
        return $this->fetch();
    }

service

    public function search($info){
        $where=[];
        if(isset($info['status'])){
            if($info['status']<10){
                $where[]=['status','=',$info['status']];
            }
        }
        $list = Pt12345Model::where($where)
            ->order('id desc')
            ->paginate(20, false, ['query' => $info]);
#使用paginate分页,代替select,并且false,之后query内容未传入的$info变量
        return $list;
    }
此条目发表在None分类目录。将固定链接加入收藏夹。

发表回复