Wat ga je maken? Je overzichtspagina laat nu álle artikelen zien. Straks staan er 200 in je database en duurt het laden een eeuw. Je splitst de lijst op in pagina's met onderaan nette knoppen (1 2 3 … Volgende).

Waarom is dit nuttig? Elke klantwebsite met een nieuws-, blog- of productoverzicht heeft dit nodig. Het is ook de snelste manier om te leren hoe Laravel omgaat met de query string (?page=2).

Stappenplan

  1. Vervang in je controller >get() door >paginate(9).
  2. Zet in je Blade-view onder de lijst: {{ $posts->links() }}.
  3. Kijk in de browser wat er gebeurt met de URL als je op pagina 2 klikt.
  4. De standaard knoppen zijn Tailwind-styling. Wil je ze aanpassen aan je eigen ontwerp? Publiceer de views en pas ze aan.
  5. Test met minstens 15 records, anders zie je geen tweede pagina. Gebruik een factory of seeder om snel testdata te maken.

Kleine hulpmiddelen

# Snel 30 nep-artikelen maken om mee te testen
php artisan tinker >>> App\Models\Post::factory()->count(30)->create();
# De pagination-views naar je eigen project kopiëren zodat je ze kunt stylen
php artisan vendor:publish --tag=laravel-pagination
# resultaat: resources/views/vendor/pagination/*.blade.php

Valkuilen

Klaar als…