定制 aneeskhan47/laravel-pagination-merge 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aneeskhan47/laravel-pagination-merge

最新稳定版本:v1.0.7

Composer 安装命令:

composer require aneeskhan47/laravel-pagination-merge

包简介

Merge multiple laravel paginate instances

README 文档

README

Pagination Merge for Laravel 5/6/7/8/9/10/11/12

Latest Version on Packagist Total Downloads GitHub Code Style Action Status Laravel Versions

A simple Laravel pagination merge package that allows you to merge multiple ->paginate() instances.

Some Background

I had to deal with something like that in a project I was working on, where in one of the pages I had to display two types of publication paginated and sorted by the created_at field. In my case, it was a Post model and an Event Model (hereinafter referred to as publications).

The only difference is I didn't want to get all the publications from the database and then merge and sort the results, as you can imagine it would rise a performance issue if we have hundreds of publications.

So I figure out that it would be more convenient to paginate each model and only then, merge and sort them. that's why I built this package.

This package is heavily inspired by this stackoverflow answer

⚡️ Installation

For Laravel 5.5+

Require this package with composer:

composer require aneeskhan47/laravel-pagination-merge 

The service provider will be auto-discovered. You do not need to add the provider anywhere.

For Laravel 5.0 to 5.4

Require this package with composer:

composer require aneeskhan47/laravel-pagination-merge 

Find the providers key in config/app.php and register the PaginationMerge Service Provider.

'providers' => [ // ... Aneeskhan47\PaginationMerge\PaginationMergeServiceProvider::class, ]

Find the aliases key in config/app.php and register the PaginationMerge alias.

'aliases' => [ // ... 'PaginationMerge' => Aneeskhan47\PaginationMerge\Facades\PaginationMerge::class, ]

???? Usage

use App\Models\Post; use App\Models\Event; use Aneeskhan47\PaginationMerge\Facades\PaginationMerge; class PublicationsController extends Controller { /**  * Display a listing of the resource.  *  * @param \Illuminate\Http\Request $request  * @return \Illuminate\Http\Response  */ public function index(Request $request) { $events = Event::latest()->paginate(5); $posts = Post::latest()->paginate(5); $publications = PaginationMerge::merge($events, $posts) ->sortByDesc('created_at') ->get(); // since get() will return \Illuminate\Pagination\LengthAwarePaginator // you can continue using paginator methods like these etc: $publications->withPath('/admin/users') ->appends(['sort' => 'votes']) ->withQueryString() ->fragment('users') ->setPageName('publications_page'); return view('publications.index', compact('publications')); } }

???? Support the development

Do you like this package? Support it by donating

???? Testing

composer test

???? Changelog

Please see CHANGELOG for more information on what has changed recently.

???? Contributing

Please see CONTRIBUTING for details.

???? Security

If you discover any security-related issues, please email kingkhan2388@gmail.com instead of using the issue tracker.

???? Credits

???? License

The MIT License (MIT). Please see License File for more information.

???? Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.

统计信息

  • 总下载量: 22.08k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 18
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 17
  • Watchers: 1
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固