krossroad / laravel-union-paginator
Package to support pagination in union queries in Laravel Eloquent.
Installs: 98 747
Dependents: 0
Suggesters: 0
Security: 0
Stars: 19
Watchers: 2
Forks: 5
Open Issues: 2
Requires
- illuminate/database: ^5.5
- illuminate/pagination: ^5.5
README
Note
Laravel supports union pagination from v5.7
Installation
For Laravel v5.5 to v5.7
composer require 'krossroad/laravel-union-paginator:5.5'
For Laravel v5.2 to v5.4
composer require 'krossroad/laravel-union-paginator:5.4'
Usage
Just use
UnionPaginatorTrait
in your model and you are good to go.
Example Model
<?php /** * @filename {project}/App/Models/User.php */ namespace \App\Models\User; use Krossroad\UnionPaginator\UnionPaginatorTrait; class User extends Model { use UnionPaginatorTrait; ... }
Example usage somewhere in application code
->unionPaginate()
--> returns \Illuminate\Pagination\LengthAwarePaginator instance
$first = User::whereNull('first_name'); $pagination = User::whereNull('last_name') ->union($first) ->unionPaginate( $perPage, $columns, $pageName = 'page', $page );
If you find any bug, issue or have queries. Please create a new issue