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