laravel 分页小技巧(不使用laravel自带的分页情况下)
Posted winstonsias
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel 分页小技巧(不使用laravel自带的分页情况下)相关的知识,希望对你有一定的参考价值。
前提:laravel自带的分页其实已经非常强大,但是对于重构的api项目,可能有些地方还是需要自定义。
如果采用自定义分页,肯定需要频繁使用db或Eloquent的skip、offset、limit方法,此操作可以封装到基类中使用工厂方法进行生产使用:
由于我对项目进行了分层,service基类:
1 namespace AppHttpService; 2 3 4 class BaseService{ 5 6 /** 7 * @param $model 8 * @param int $page 9 * @param int $per_num 10 * @param string $namespace 11 * @return AppHttpModelBaseModel 12 */ 13 public function getLimit($model,$page=0,$per_num=2,$namespace="App\Http\Model\") 14 { 15 $model=$namespace.$model; 16 $model=app($model); 17 $skip=($page-1)<0?0:($page-1)*$per_num; 18 return $model::skip($skip)->limit($per_num); 19 } 20 }
这样在service中可以直接用:
$list=$this->getLimit("Order")->where($where)->get();
以上是关于laravel 分页小技巧(不使用laravel自带的分页情况下)的主要内容,如果未能解决你的问题,请参考以下文章