Outils pour utilisateurs

Outils du site


devweb:laravel:pagination (lu 12325 fois)

Pagination

Dans le cas ou une table serait trop grosse et la pagination de base serait trop lourde, on peut créer un array des données et faire un paginate dessus en ajoutant une fonction

function paginateCollection($items, $perPage = 15, $page = null, $options = [])
{
    $page = $page ?: (\Illuminate\Pagination\Paginator::resolveCurrentPage() ?: 1);
    $items = $items instanceof \Illuminate\Support\Collection ? $items : \Illuminate\Support\Collection::make($items);
    return new \Illuminate\Pagination\LengthAwarePaginator($items->forPage($page, $perPage), $items->count(), $perPage, $page, $options);
}
$stats = Statistique::take(100)->get()->toArray();
$stats = $this->paginate($stats,5, null,['path'=>'']);
 
return view('stats', ['stats'=>$stats]);

— source : https://gist.github.com/wuiler/9fd3ca8fa5d58265b49ecfc45dd1e095

devweb/laravel/pagination.txt · Dernière modification: 04-09-2018 10:25 de edmc73