码迷,mamicode.com
首页 > 其他好文 > 详细

laravel 分页小技巧(不使用laravel自带的分页情况下)

时间:2019-01-05 13:23:11      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:api   return   ret   情况   分页   ring   class   cti   自定义   

前提: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();

 

laravel 分页小技巧(不使用laravel自带的分页情况下)

标签:api   return   ret   情况   分页   ring   class   cti   自定义   

原文地址:https://www.cnblogs.com/winstonsias/p/10223969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!