首页 > 其他分享 >Laravel Eloquent Paginator 一种优雅的重新修改分页数据的方法

Laravel Eloquent Paginator 一种优雅的重新修改分页数据的方法

时间:2024-04-17 17:55:36浏览次数:26  
标签:Laravel Paginator tap paginator function Eloquent transform value return

需求

如何将分页器数据内的数据进行处理后再塞回去

解决

分页器数据是一个 Collection,使用 transform 方法进行处理

$paginator = $this->items()->where('position', '=', null)->paginate(15);
$paginator->getCollection()->transform(function ($value) {
    // Your code here
    return $value;
});

使用 tap 助手函数

之前提过的 HOF tap 函数可以用在这里

$paginator = tap($this->items()->where('position', '=', null)->paginate(15), function($paginatedInstance){
    return $paginatedInstance->getCollection()->transform(function ($value) {
        return $value;
    });
});

https://stackoverflow.com/questions/37102841/laravel-change-pagination-data

标签:Laravel,Paginator,tap,paginator,function,Eloquent,transform,value,return
From: https://www.cnblogs.com/ninkaki/p/18141386

相关文章

  • 10 个 Laravel Eloquent 中的隐藏特性你知道几个
    Laravel是一个功能丰富的框架。但是,你无法在官方文档中找到所有可用的功能。以下就是你可能不知道的一些功能。1.获取原始属性当你修改了一条Eloquent记录后,你可以用getOriginal()来获取原来的属性。$user=App\User::first();$user->name;//John......
  • thinkphp+Laravel+vue实验室预约课程管理系统t1g73
     Laravel非常的简洁并且是开源的,Laravel是一个具有表现力、优雅语法的Web应用程序框架.Laravel是构建现代全栈Web应用程序的最佳选择.它的语法更富有表现力,拥有高质量的文档和丰富的扩展包,技术上它有Bundle扩展包、EloquentORM、反向路由、迁移、Restful控制器、自......
  • Thinkphp/Laravel校园二手书交易系统oc81w
     开发语言:php后端框架:Thinkphp/Laravel前端框架:vue.js服务器:apache数据库:mysql运行环境:phpstudy/wamp/xammp等 性能非的功能分为管理员,卖家用户和用户三个部分,系统的主要功能包括首页、个人中心、用户管理、卖家用户管理、图书分类管理、二手图书管理、求购图书管理、......
  • laravel 容器的底层原理&聚簇索引和非聚簇索引的区别&面试心得
    1.laravel容器的底层原理Laravel容器的实现原理是基于PHP的反射机制和依赖注入(DependencyInjection)的思想。在Laravel中,容器(Container)是一个用于解决类之间依赖关系的工具。它负责实例化对象,并处理对象之间的依赖关系。容器的实现原理主要包括以下几个步骤:注册绑定:通过容器......
  • 如何在 Laravel 代码中正确地使用数据库事务
    如何在Laravel代码中正确地使用数据库事务22594英文原文 /  翻译 /  1852 /  4 / 创建于 2年前 /  1个改进 引言在web开发中,数据的完整性和准确性非常重要。因此,必须确保我们编写的代码能够以安全的方式存储、更新和删除数据库中的数据。在本文......
  • Laravel11.0.3安装完后运行项目报错
    Laravel11.0.3安装完后运行项目报错:couldnotfinddriver(Connection:sqlite,SQL:PRAGMAforeign_keys=ON;)运行项目报错时提示链接sqlite错误解决方案:1.确认机器安装了sqlite,https://blog.csdn.net/centaury32/article/details/1367885202.启动sqlite......
  • Laravel对应PHP版本
    Laravel5.1PHP对应的版本>=5.5.9Laravel5.2PHP对应的版本>=5.5.9Laravel5.3PHP对应的版本>=5.6.4Laravel5.4PHP对应的版本>=5.6.4Laravel5.5PHP对应的版本>=7.0.0Laravel5.6PHP对应的版本>=7.1.3Laravel6.X和7.XPHP对应的版本>=7.2.0Laravel8PHP对应的版本>=7.3-......
  • How to use try-catch with DB::transaction in Laravel
    Howtousetry-catchwithDB::transactioninLaravel.Whenaddingnumerousqueries,DB::transaction()isusedtocheckwhethereachquerywasproperlyrunbeforerollingback.Therefore,canweuseatry-catchblockwithdb::transactionaswell?Usingat......
  • Laravel 中 faker 的方法总结
    Laravel中faker的方法总结428513 liuguowei163的个人博客 /  1878 /  13 / 创建于 4年前 / 更新于4年前 安装composerrequirefzaninotto/faker可通过在 config/app.php 增加如下配置使其支持中文:'faker_locale'=>'zh_CN',基本用法Fake......
  • laravel8 + redis 队列
      执行命令生成job: phpartisanmake:job自定义名称修改queue.php配置文件'redis'=>['driver'=>'redis','connection'=>'queue',【databases.php中单独配置一个redis的链接名为queue】'queue'=>en......