Laravel Pagination

Laravel Pagination
La pagination est utilisée pour afficher de nombreux enregistrements à la fois en divisant les données en plusieurs pages pour la rendre lisible. L'utilisation de la pagination dans Laravel est très simple car cette fonctionnalité est intégrée à Eloquent ORM et à un constructeur de requêtes. La limite et le décalage des paginations sont calculés automatiquement dans Laravel. Le paginer() et lien() Des méthodes sont utilisées pour implémenter une pagination dans Laravel. Ce tutoriel vous montre comment appliquer la pagination dans les projets Laravel.

Conditions préalables

Avant de commencer ce tutoriel, vous devez effectuer les tâches suivantes qui ne sont pas couvertes dans ce tutoriel.

  • Installer un nouveau projet Laravel
  • Faire la connexion de la base de données

Créer une structure de table en utilisant la migration

Ici le étudiants Le tableau sera créé en utilisant la migration pour appliquer la pagination. Exécutez la commande suivante pour créer le fichier de migration pour le étudiants tableau. Si la commande s'exécute avec succès, il créera un fichier de migration sous le / base de données / migration dossier.

$ php artisan make: migration create_students_table -create = étudiants

Accédez au dossier et ouvrez le fichier de migration. Modifier le en haut() Méthode avec le code suivant pour définir la structure du étudiants tableau. Le tableau contiendra 7 champs. Le identifiant Le champ sera la clé principale et le champ auto-incrément. Le std_id, std_name, std_email, et std_mobile Les champs contiendront des données de chaîne. Les deux derniers champs stockeront l'insertion et mettront à jour l'heure de l'enregistrement.

Fonction publique UP ()

Schema :: Create ('Students', fonction (Table Blueprint $)
$ table-> id ();
$ table-> String ('std_id');
$ table-> String ('std_name');
$ table-> String ('std_email') -> unique ();
$ table-> String ('std_mobile');
$ Table-> TimeStamps ();
);

Exécutez la commande suivante pour créer le tableau dans la base de données.

$ php artisan migrer

Si la table est créée avec succès, vous obtiendrez la structure de table suivante.

Créer un modèle

Exécutez la commande suivante à partir du terminal pour créer un modèle nommé Étudiant pour la table des élèves. Cela créera un Étudiant.php sous l'application dossier.

$ PHP Artisan Make: Model Student

Ouvrir le Étudiant.php modèle et modifier le fichier avec le code suivant. Ici, $ à remplissage est déclaré pour définir quels champs du étudiants la table est obligatoire. Ainsi, lorsque les données sont insérées, le std_id, std_name, std_email, et std_mobile Les champs ne peuvent pas être maintenus vides.

application d'espace de noms;
Utiliser illuminate \ database \ eloquent \ modèle;
Élève de classe étend le modèle

protégé $ remplissable = [
'std_id',
'std_name',
'std_email',
'std_mobile',
]]

Générer de fausses données

Un grand nombre de dossiers devront stocker dans le tableau des étudiants pour afficher correctement la tâche de pagination. Ici le Falsière le service est utilisé dans le Databaseeseder classe pour insérer rapidement un grand nombre de faux enregistrements dans la table des étudiants à des fins de test. Ouvrir le Databaseeseder.php fichier à partir de l'emplacement / base de données / semences /. Modifiez le fichier avec le code suivant. Ici, un objet du Falsière La classe est créée pour générer de fausses données. Le pour chaque la boucle est utilisée pour insérer 100 faux enregistrements dans le étudiants tableau. Un nombre aléatoire à 5 chiffres sera généré pour le std_id champ. Un faux nom, un faux e-mail et un faux numéro de téléphone généreront pour le std_name, std_email, et std_mobile champs, respectivement.

Utiliser illuminate \ database \ Seeder;
// Importer une façade DB et un service Faker
Utiliser illuminate \ support \ FACADES \ DB;
Utilisez Faker \ Factory comme Faker;
Class DatabaseSeseder étend Seeder

/ **
* Générez la base de données de l'application.
*
* @return void
* /
Fonction publique Run ()

$ faker = faker :: create ();
foreach (gamme (1 100) comme $ index)
DB :: Table («Élèves») -> INSERT ([[
'std_id' => $ faker-> randomNumber ($ nbDigits = 5) ,
'std_name' => $ faker-> nom,
'std_email' => $ faker-> e-mail,
'std_mobile' => $ faker-> phonenumber,
]));


Exécutez la commande suivante à partir du terminal pour insérer 100 faux enregistrements dans le étudiants Table à l'aide de semis de base de données.

$ php artisan db: graine

Ouvrez le tableau des élèves pour vérifier si les enregistrements sont insérés dans la table. Vous obtiendrez une sortie similaire si le semis de base de données est effectué avec succès.

Créer un contrôleur pour lire les données

Exécutez la commande suivante à partir du terminal pour créer un contrôleur nommé Contrôleur étudiant.

$ PHP Artisan Make: Controller Student Controller

Ouvrez le contrôleur et remplacez le code par le code suivant. Ici le paginer() La fonction est appelée avec la valeur de l'argument 10 pour afficher 10 enregistrements sur chaque page. Il y a 100 enregistrements dans le tableau des étudiants. Ainsi, des liens de 10 pages seront créés dans le fichier de vue pour naviguer dans les autres enregistrements.

Namespace App \ Http \ Controllers;
Utilisez App \ Student;
Utiliser illuminate \ http \ request;
Class StudentController étend le contrôleur

Index de fonction publique ()
$ Students = Student :: Paginate (10);
Return View («étudiants», compact («étudiants»));

Créer une vue pour afficher les données

Créer un fichier d'affichage nommé étudiants.lame.php avec le code suivant. Ici, les enregistrements du étudiants La table sera affichée sous forme tabulaire. Le lien() La fonction est appelée à la fin de la balise de table pour afficher la barre de pagination à l'aide de bootstrap.






Démo de pagination de Laravel





Liste des étudiants en utilisant la pagination













@ForEach ($ étudiants en tant que $ data)






@endforeach

IDENTIFIANTNomE-mailMobile non.
$ data-> std_id$ data-> std_name$ data-> std_email$ data-> std_mobile


!! $ étudiants-> links () !!



Créer une route pour le contrôleur

Ouvrir le la toile.php fichier et ajouter l'itinéraire suivant pour appeler le indice() méthode de Contrôleur étudiant Lorsque l'utilisateur tapeétudiants' Après l'URL de base.

Route :: Get («Students», «StudentController @ index»);

Maintenant, ouvrez l'URL suivante du navigateur pour afficher la sortie de la vue.

http: // localhost / laravelpro / public / étudiants

Vous obtiendrez une sortie similaire si l'itinéraire fonctionne correctement. L'image ci-dessous affiche les 10 premiers enregistrements du étudiants tableau.

Pour afficher les 10 derniers enregistrements, appuyez sur le lien «10» de la barre de pagination. Il affichera une sortie similaire.

Didacticiel vidéo

Conclusion

Le framework Laravel rend la tâche de pagination plus facile que dans de nombreuses autres applications PHP. Ce tutoriel vous a montré comment implémenter une pagination avec Bootstrap à Laravel en utilisant de fausses données pour un exemple. Si vous êtes un nouvel utilisateur de Laravel et que vous souhaitez savoir comment implémenter une pagination dans votre projet, ce tutoriel devrait vous aider à apprendre à le faire.