meta data for this page
Laravel
Pagination manuelle
Dans certains cas, on peut configurer la pagination quand on a les résultats d'un requêtes dans un tableau.
Ici on a un tableau $images
qui contient plusieurs images mais on souhaite les afficher 6 par 6.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
use Illuminate\Pagination\LengthAwarePaginator as Paginator; ... $pageStart = request()->get( 'page' , 1); // récupère le numéro de page dans l'url $perPage = 6; // Défini le nombre d'image par page // Défini le décalage, si on est sur la 1ere page, $offset = 0 //si on est sur la 2eme page, $offset = 6 $offset = ( $pageStart * $perPage ) - $perPage ; // Instancie la class Paginator $images = new Paginator( array_slice ( $images ->all(), $offset , $perPage , true), $images -> count (), $perPage , null, [ 'path' => $request ->url(), 'query' => $request ->query(), ] ); // Ajoute à l'objet $images le contenu de la recherche // si on est sur une page de résultats de recherche $images ->appends([ 'search' => $request ->post( 'search' )]); |