1. 程式人生 > >laravel 分頁小技巧(不使用laravel自帶的分頁情況下)

laravel 分頁小技巧(不使用laravel自帶的分頁情況下)

前提:laravel自帶的分頁其實已經非常強大,但是對於重構的api專案,可能有些地方還是需要自定義。

如果採用自定義分頁,肯定需要頻繁使用db或Eloquent的skip、offset、limit方法,此操作可以封裝到基類中使用工廠方法進行生產使用:

由於我對專案進行了分層,service基類:

 1     namespace App\Http\Service;
 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 \App\Http\Model\BaseModel 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();