Package Data | |
---|---|
Maintainer Username: | amamarul |
Maintainer Contact: | ama_marul@hotmail.com (Maru Amallo-amamarul) |
Package Create Date: | 2017-03-15 |
Package Last Update: | 2017-03-15 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-14 15:01:58 |
Package Statistics | |
---|---|
Total Downloads: | 2,007 |
Monthly Downloads: | 0 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 2 |
Total Forks: | 1 |
Total Open Issues: | 0 |
Make the pagination for arrays or Collections
$ composer require amamarul/laravel-paginator
Amamarul\Paginator\PaginatorServiceProvider::class,
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 = 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);
}
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);
}
@foreach ($paginator->items() as $element)
<a href="{!!$element['url']!!}"><h3>{!!$element['name']!!}</h3></a>
@endforeach
{!! $paginator->render() !!}
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
use App\User;
use Amamarul\Paginator\Paginator;
use Illuminate\Http\Request;
public function index(Request $request)
{
$currentPage = isset($request[$pageName]) ? (int) $request[$pageName] : 1;
$perPage = 1;
$path = $request->path();
$pageName = 'custom-name';
$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);
}
Created by Maru Amallo-amamarul