Comment utiliser la fonction de pagination Laravel intégrée sur le site Web
Vous cherchez à intégrer la pagination Laravel intégrée dans votre application? La pagination est toujours une tâche longue. Si nous le faisons sans bibliothèque tierce, nous devons gérer les liens de pagination, les enregistrements totaux, les enregistrements par page, etc. Dans cet article, nous vous montrons comment utiliser la pagination dans Laravel qui est déjà fourni avec l’installation de Laravel.
Sur un site Web, nous avons fréquemment besoin de paginations. Pour montrer le grand ensemble d’enregistrements, nous utilisons la pagination. En utilisant la pagination, nous divisons un grand ensemble de données en petites parties. Cela réduira la charge sur notre serveur et, par conséquent, le serveur répondra rapidement.
Comment utiliser la pagination Laravel
Disons que nous avons une table « produits » dans notre base de données et que cette table contient un grand nombre d’enregistrements. Notre objectif est d’afficher 10 lignes à la fois à partir de ce tableau. Et pour les prochains enregistrements, nous utiliserons les liens de pagination.
Dans notre contrôleur, nous utilisons la paginate
méthode et passons la valeur 10 en argument.
public function index()
{
$products = DB::table('products')->paginate(10);
return view('products.index', ['products' => $products]);
}
Le code ci-dessus récupère 10 lignes de la table de base de données et transmet ces enregistrements à la vue.
Pour afficher ces enregistrements dans la vue, nous écrivons le code comme suit.
<table class="table">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Description</th>
</tr>
</thead>
<tbody>
@foreach($products as $p)
<tr>
<td>{{ $p->id }}</td>
<td>{{ $p->name }}</td>
<td>{{ $p->description }}</td>
</tr>
@endforeach
</tbody>
</table>
{{ $products->links() }}
Ici, la links
méthode renvoie une vue de la pagination basée sur la pagination de la table d’amorçage.
Laravel nous permet également d’utiliser des requêtes Eloquent paginées au lieu du générateur de requêtes.
$products = AppProduct::paginate(10);
Passer des paramètres supplémentaires pour paginer les liens
Normalement, nous appliquons la pagination avec les tableaux HTML. En plus de la liste des enregistrements, nous donnons le champ de recherche pour filtrer les enregistrements. Pour conserver les filtres de recherche, nous devons transmettre la chaîne de recherche dans les liens paginés comme ci-dessous.
http://YOUR_SITE_DOMAIN/products?s=test&page=1
Pour y parvenir, nous devons transmettre la chaîne de recherche à afficher à partir du contrôleur.
$products = DB::table('products')->paginate(10);
$products->search = 'YOUR_SEARCH_STRING';
return view('products.index', ['products' => $products]);
Ensuite, pour afficher les liens paginés, nous modifions notre code comme suit.
{{ $products->appends(['s' => $products->search])->links() }}
appends
méthode ajoute une chaîne de requête aux liens de pagination.
Nous espérons que vous comprendrez comment paginer Laravel dans votre application. Si vous avez des questions ou des suggestions, veuillez laisser un commentaire ci-dessous.
Articles Liés
- Comment utiliser la fonctionnalité de connexions à plusieurs bases de données de Laravel sur un site Web
- Créer un site Web multilingue en PHP à l’aide du framework Laravel
- Comment installer et utiliser CKEditor dans Laravel