paginació en Laravel
Created at: 2025-01-17 16:08:36 | Updated at: 2025-01-17 16:09:39
Laravel ofereix tres tipus de paginació principals en Eloquent i Query Builder:
$posts = Post::paginate(10); // Retorna 10 resultats per pàgina
$posts = Post::simplePaginate(10);
$posts = Post::orderBy('id')->cursorPaginate(10);
Un cop tens la paginació en el controlador, has d’afegir links() a la vista per mostrar els enllaços de navegació.
{{ $posts->links() }}
Si fas servir Tailwind CSS, pots especificar el disseny de la paginació:
{{ $posts->links('pagination::tailwind') }}
Si filtres per categoria, etiqueta o altres criteris, has de passar els paràmetres a les pàgines següents amb appends():
{{ $posts->appends(request()->query())->links() }}
Si utilitzes Query Builder en comptes d’Eloquent, pots paginar les consultes així:
$posts = DB::table('posts')->paginate(10);
Si vols evitar errors, pots comprovar que $posts sigui un Paginator abans de cridar links():
@if ($posts instanceof \Illuminate\Pagination\LengthAwarePaginator) {{ $posts->links() }} @endif
Si vols modificar l’aspecte de la paginació, pots publicar les vistes de la paginació de Laravel:
php artisan vendor:publish --tag=laravel-pagination
Això generarà les vistes de la paginació a resources/views/vendor/pagination/, on podràs modificar els fitxers.
Amb aquest resum ja tens una base sòlida per implementar paginació a qualsevol projecte Laravel! ?
No valid image directory found or the category is not valid for the gallery.