laravel 分页器查询 封装
public function pageList($where,$select=['*'],$with=[],$whereHas=[],$sort=[], $page_size=null,$whereIn=[],$whereHasIn=[],$orwhere=[]){
foreach ($with as $k=>$v){
$this->model = $this->model->with($v);
}
foreach($whereHas as $key=>$val){
$this->model = $this->model->whereHas($key,function($query)use($val){$query->where($val);});
}
foreach($whereHasIn as $key=>$val){
$this->model = $this->model->whereHas($key,function($query)use($val){
foreach ($val as $v){
$query->whereIn($v[0],$v[1]);
}
});
}
foreach($whereIn as $val){
$this->model = $this->model->whereIn($val[0],$val[1]);
}
if (!empty($sort) && isset($sort[0]) && isset($sort[1])) $this->model=$this->model->orderBy($sort[0],$sort[1]);
$this->model = $this->model->where($where);
foreach ($orwhere as $value){
$this->model = $this->model->where($value);
}
if ($page_size < 0) return $this->model->get($select);
return $this->model->select($select)->paginate($page_size??Common::PAGE_SIZE);
}