2017 © Pedro Peláez
 

library laravel-paginator

Laravel Paginator for Collections or Arrays

image

amamarul/laravel-paginator

Laravel Paginator for Collections or Arrays

  • Wednesday, March 15, 2017
  • by amamarul
  • Repository
  • 1 Watchers
  • 0 Stars
  • 1,376 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 1 % Grown

The README.md

Laravel Paginator

Make the pagination for arrays or Collections, (*1)

Installation

Composer require

``` bash $ composer require amamarul/laravel-paginator, (*2)

### Add Provider into config/app.php
``` php
Amamarul\Paginator\PaginatorServiceProvider::class,

Usage

In Controller

  • Array

``` php use Amamarul\Paginator\Paginator; use Illuminate\Http\Request;, (*3)

public function index(Request $request) { $currentPage = isset($request['page']) ? (int) $request['page'] : 1; $perPage = 1; $path = $request->path();, (*4)

$items = array_map(function ($value) {
    return [
    'name' => 'User #' . $value,
    'url'  => '/user/' . $value,
    ];
    }, range(1,1000));

    $paginator = new Paginator($items);
    $paginator = $paginator->paginate($currentPage,$perPage, $path);

return view('index')->with('paginator', $paginator);

}, (*5)


- Collection ``` php use App\User; use Amamarul\Paginator\Paginator; use Illuminate\Http\Request; public function index(Request $request) { $currentPage = isset($request['page']) ? (int) $request['page'] : 1; $perPage = 1; $path = $request->path(); $items = User::with('profile')->get()->sortBy('profile.name'); $paginator = new Paginator($items); $paginator = $paginator->paginate($currentPage,$perPage, $path); return view('index')->with('paginator', $paginator); }

In Blade View (index.blade.php)

``` php @foreach ($paginator->items() as $element) , (*6)

{!!$element['name']!!}

@endforeach, (*7)

{!! $paginator->render() !!} ```, (*8)

Customize Page Name

By default the url has page name http://127.0.0.1:8000/?page=3 If you´d like to change the page name yo must only add a fourth parameter with the name. Like this, (*9)

``` php use App\User; use Amamarul\Paginator\Paginator; use Illuminate\Http\Request;, (*10)

public function index(Request $request) { $currentPage = isset($request[$pageName]) ? (int) $request[$pageName] : 1; $perPage = 1; $path = $request->path(); $pageName = 'custom-name';, (*11)

  $items = User::with('profile')->get()->sortBy('profile.name');

  $paginator = new Paginator($items);
  $paginator = $paginator->paginate($currentPage,$perPage, $path, $pageName);

  return view('index')->with('paginator', $paginator);

} ```, (*12)

Feel free to send improvements

Created by Maru Amallo-amamarul, (*13)

The Versions

15/03 2017

dev-master

9999999-dev

Laravel Paginator for Collections or Arrays

  Sources   Download

MIT

by Maru Amallo-amamarul

laravel laravel 5.4 laravel paginator laravel 5.4 paginate paginate array paginate collection

15/03 2017

1.0.1

1.0.1.0

Laravel Paginator for Collections or Arrays

  Sources   Download

MIT

by Maru Amallo-amamarul

laravel laravel 5.4 laravel paginator laravel 5.4 paginate paginate array paginate collection