首页 > 其他分享 >laravel 操作collect()进行排序和分页

laravel 操作collect()进行排序和分页

时间:2023-08-14 11:11:19浏览次数:35  
标签:laravel Paginator perPage 分页 age collect 排序 page

use Illuminate\Support\Collection;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;

// ...

// 创建一个示例集合
$collection = collect([
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
    ['name' => 'Dave', 'age' => 40],
    // ...
]);

// 排序和分页操作
$sortBy = 'age'; // 排序字段
$sortOrder = 'asc'; // 排序顺序,可以是 'asc' 或 'desc'
$perPage = 10; // 每页显示的数量
$page = Paginator::resolveCurrentPage('page'); // 获取当前页码,默认为 'page'

// 排序
$sortedCollection = $collection->sortBy($sortBy, SORT_REGULAR, $sortOrder === 'desc');

// 分页
$slicedData = $sortedCollection->slice(($page - 1) * $perPage, $perPage);
$paginatedCollection = new LengthAwarePaginator(
    $slicedData,
    $sortedCollection->count(),
    $perPage,
    $page,
    ['path' => Paginator::resolveCurrentPath()]
);

// 返回包含排序和分页后的集合数据的视图
return view('your-view', ['data' => $paginatedCollection]);

标签:laravel,Paginator,perPage,分页,age,collect,排序,page
From: https://www.cnblogs.com/sanlilin/p/17628109.html

相关文章

  • 数据结构与算法 --- 如何分析排序算法
    引言排序算法是最基础的算法,对于排序算法,除学习算法原理,代码实现之外,更重要的是学习每个算法的特点,知道在什么场景下选择那种算法。那一定是选择时间复杂度最低的排序算法就是最优的吗?可以从以下几个方面分析一下。排序算法的执行效率对于排序算法的执行效率,一般从以下几个方......
  • C语言快速排序降序实现
    C语言快速排序降序实现快速排序是一种常用的排序算法,其灵活性和高效性使其成为程序员们喜爱的排序方式之一。在这篇文章中,我们将探讨如何使用C语言来实现快速排序算法,并实现一个降序排序的例子。C语言快速排序降序实现快速排序算法基于分治的思想,通过选取一个基准元素,将待排序......
  • Tita 升级|OKR 新增表格展示与自由拖动排序
    升级详情Tita-OKR和新绩效一体化管理平台一、【OKR】支持切换表格模式展示1.切换入口OKR展示页面点击右上角可进行切换.注意:如果前期将OKR列表在筛选中默认记住了其他排序(创建时间,更新时间等),无法支持,需切换回「自定义排序」才允许拖动。可以进入右上角OKR周期后面......
  • python实战练习:sorted函数排序后返回一个新列表,所以不用再套一层list函数进行转化了
        使用集合set去重后,如果想要返回结果为列表形式,不用在外层套list函数了,因为sorted排完序后会返回一个新列表。names=input().split("")print(sorted(set(names)))#不需要再套一层list函数了print(sorted(list(set(names)))) ......
  • Laravel octane 使用蓝绿部署方案实现0停机部署
    最近在尝试使用octaneswoole驱动的Laravel项目时出现了一个问题:在更新代码后使用 octane:reload 重新启动 workers 时新代码不生效。我的项目是通过 deployer [1] 部署的,通过符号链接的形式将项目目录指向新的代码,但 octane:reload 后新代码并没有生效。之后发现通过......
  • laravel 面试题
    laravel框架面试题1.什么是Laravel框架?它的主要特点是什么?Laravel框架是一个用于构建Web应用程序的开源PHP框架,它提供了许多工具和功能来简化开发流程。其特点包括优雅的语法、强大的路由系统、EloquentORM、Blade模板引擎等2.如何通过Composer安装Laravel?使用Composer......
  • 数据结构与算法 --- 排序算法(一)
    引言按照时间复杂度,将一些常见排序算法进行分类,分为以下三类:\(O(n^2)\):冒泡排序,插入排序,选择排序。\(O(nlogn)\):快速排序,归并排序。\(O(n)\):桶排序,计数排序,基数排序。本篇文章讨论以下第一类:冒泡排序,插入排序,选择排序。上一篇数据结构与算法---如何分析排序算法提......
  • 数据结构与算法 --- 排序算法(二)
    title:数据结构与算法---排序算法(二)category:数据结构与算法tags:算法updatedAt:2023-05-18T15:29:17.847ZcreatedAt:2023-05-13T14:43:31.656Z引言上一篇数据结构与算法---排序算法(一)中,学习了冒泡排序,插入排序,选择排序这三种时间复杂度为\(O(n^2)\)的算法。实......
  • TiDB 的 Garbage Collection 机制
    TiDB的事务的实现采用了MVCC(多版本并发控制)机制,当新写入的数据覆盖旧的数据时,旧的数据不会被替换掉,而是与新写入的数据同时保留,并以时间戳来区分版本。GarbageCollection(GC)的任务便是清理不再需要的旧数据。TiDB中的垃圾回收(GarbageCollection,GC)是自动触发的,不需要手动触......
  • C语言中的排序算法及其实现方法
    C语言中的排序算法及其实现方法排序算法是计算机科学中的重要部分,它们在数据处理和算法设计中起着关键作用。在C语言编程开发中,掌握不同的排序算法及其实现方法对于提高代码质量和性能至关重要。本文将围绕C语言中的排序算法展开讨论,介绍几种常见的排序算法及其实现方法。1C语言中......