1.在App\Service新建一个service 继承 LengthAwarePaginator (也可以写在其他层次)


<?php
namespace App\Service;class LengthAwarePaginatorService extends \Illuminate\Pagination\LengthAwarePaginator
{/*** 重写toArray**/public function toArray(){return ['data' => $this->items->toArray(),'total' => $this->total(),'currentPage'=>$this->currentPage(),];}/*** 添加一个object转数组的方法* 处理生成新的分页**/ public function pageInit(){$total = $this->total();$limit=$this->perPage();$page = $this->currentPage();$list = $this->items();if (empty($total)){return  ['total'=>0,'pages'=>1,'next_page'=>0,'lists'=>[]];}$pages=(int)ceil($total/$limit);$next_page = 0;if($page<$pages){$next_page = ++$page;}return ['total'=>$total,'pages'=>$page,'pageSize' => $limit,'next_page'=>$next_page,'list'=>$list];}
}

2.在/app/Providers/AppServiceProvider.php中注册一下

主要是在register方法里面

<?phpnamespace App\Providers;use App\Services\LengthAwarePaginatorService;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Support\ServiceProvider;class AppServiceProvider extends ServiceProvider
{/*** Register any application services.** @return void*/public function register(){$this->app->bind('Illuminate\Pagination\LengthAwarePaginator',function ($app,$options){return new LengthAwarePaginatorService($options['items'], $options['total'], $options['perPage'], $options['currentPage'] , $options['options']);});}
}

laravel修改toArray方法相关推荐

  1. list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的

    单选 list子类使用toarray方法实现集合向数组转换,下列哪些说法是正确的:答案在文末 A. Vector无法使用toArray转换成数组. B. 优先推荐:调用集合类的方法toArray(T[ ...

  2. php默认日志位置,Laravel 修改默认日志文件名称和位置的例子

    修改默认日志位置 我们平常的开发中可能一直把laravel的日志文件放在默认位置不会有什么影响,但如果我们的项目上线时是全量部署,每次部署都是git中最新的代码,那这个时候每次都会清空我们的日志,显示 ...

  3. 修改withdraw 方法

    练习目标-使用有返回值的方法:在本练习里,将修改withdraw方法以返回一个布尔值来指示交易是否成功. 任务 1.修改Account类 a.修改deposit 方法返回true(意味所有存款是成功的 ...

  4. python脚本设置linux环境变量_Linux环境变量export方法与修改文件方法的区别

    玩蛇网推荐图文教程:python 列表 要想修改Linux环境变量有两种方法可以实现,但是关于Linux环境变量export方法与修改文件方法的区别你又了解多少呢?设置 Linux 环境变量可以通过 ...

  5. 电脑修改ip地址方法cmd_Mac系统如何创建用户群组?苹果电脑修改用户名方法

    群组允许多个用户拥有相同的访问权限.例如,您可以将文件夹或文件的特定访问权限授予群组,这样该群组的所有成员都可以进行访问.您还可以将每个共享文件夹的特定访问权限分配给群组. Mac系统如何创建用户群组 ...

  6. java中List的toArray方法

    把List转换成某种类型的数组,就拿String类型来做例子吧,有以下两种方式: //方法1,使用不带参数的toArray方法 String[] arr1=new String[list.size() ...

  7. aop对请求后端的参数修改_Spring Aop 修改目标方法参数和返回值

    @Component("changeIdNoAopHandler")public classChangeIdNoAopHandler {private static Logger ...

  8. php判断表单修改内容,JavaScript判断用户是否对表单进行了修改的方法_javascript技巧...

    本文实例讲述了JavaScript判断用户是否对表单进行了修改的方法.分享给大家供大家参考.具体分析如下: 这段JS代码可以判断出用户是否对表单内容进行了修改,如果修改了表单,并退出浏览器,则会提醒用 ...

  9. 关于Arrays类中toArray方法的总结

    学了差不多两年的Java,数组类Arrays应该是我最常用到的类之一了,在整个学习的过程中,会更常用到一个方法,那就是toArray方法,因为将Collections类型的集合转化为数组后,将会更容易 ...

最新文章

  1. 阿里达摩院 AI医疗 「铸剑」四年:上线170家医院,落地57座城市
  2. windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
  3. java 怎么快速找到实现类_JAVA懒开发:FreeMarker快速实现类的增删改查接口
  4. 浏览器一直不停的异步请求(环境:vs.net mvc)
  5. python安装后使用_Python安装后如何使用?
  6. R语言机器学习系列-决策树回归代码
  7. 上传pdf图片 文件
  8. 2019开发者调查报告出炉
  9. linux 彻底删除oracle,Linux下完美卸载Oracle
  10. pdf转换成jpg python_Python Wand将PDF转换为JPG background
  11. jQuery根据纬度经度查看地图
  12. 项目管理/思维技术实战专家陈永生
  13. 使用paddlepaddle进行手写数字识别
  14. 使用Photoshop变化一张图片的颜色深浅
  15. python中 “按位与,或,异或”与C语言的不同
  16. java -p_javap使用实例图解
  17. Oracle网址大全
  18. Robot framework中支持360浏览器测试
  19. 面试题(19)今日头条Java后台研发三面题目
  20. 集合后台排序(java)——按照汉字中文拼音

热门文章

  1. Anroid_自定义笑脸View
  2. fgo网络错误Java_JAVA 线上故障排查全套路
  3. Spring 的 IOC 和 AOP 简述
  4. 浏览器和手机显示不同样式
  5. 便签图片存储Android,安卓手机便签以图片形式分享是怎么实现的?
  6. 谷歌浏览器清除缓存-Ctrl+Shift+Delete
  7. 《基于Linux物联网综合项目》常见问题汇总fae
  8. app性能测试之Loadrunner
  9. 程序员每天准点下班,拒绝加班,领导会有看法吗?
  10. 用C# Bitmap作为画布写个3D软渲染器