Forudsætninger
Inden du starter denne tutorial, skal du udføre følgende opgaver, der ikke er dækket af denne tutorial.
- Installer et nyt Laravel-projekt
- Opret databaseforbindelsen
Opret en tabelstruktur ved hjælp af migration
Her, den studerende tabel oprettes ved hjælp af migration til at anvende paginering. Kør følgende kommando for at oprette migreringsfilen til studerende bord. Hvis kommandoen udføres med succes, opretter den en migreringsfil under / database / migration folder.
$ php håndværkerfabrik: migration create_students_table -create = studerendeGå til mappen og åbn migreringsfilen. Rediger op() metode med følgende kode for at definere strukturen for studerende bord. Tabellen indeholder 7 felter. Det id felt vil være det primære nøgle- og autoforøgelsesfelt. Det std_id, std_name, std_email, og std_mobile felter indeholder strengdata. De sidste to felter gemmer indsættelsen og opdaterer tidspunktet for posten.
offentlig funktion op ()Skema :: Opret ('studerende', funktion (Blueprint $ tabel)
$ tabel-> id ();
$ tabel-> streng ('std_id');
$ tabel-> streng ('std_name');
$ tabel-> streng ('std_email') -> unik ();
$ tabel-> streng ('std_mobile');
$ tabel-> tidsstempler ();
);
Kør følgende kommando for at oprette tabellen i databasen.
$ php håndværker migrererHvis tabellen oprettes med succes, får du følgende tabelstruktur.
Opret model
Kør følgende kommando fra terminalen for at oprette en model med navnet Studerende til studerendes bord. Dette vil skabe en Studerende.php under appen folder.
$ php håndværkerfabrik: model studerendeÅbn Studerende.php model og rediger filen med følgende kode. Her, $ udfyldelig erklæres for at definere hvilke felter i studerende tabel er obligatorisk. Så når dataene indsættes, bliver std_id, std_name, std_email, og std_mobile felter kan ikke holdes tomme.
navneområde-app;brug Illuminate \ Database \ Eloquent \ Model;
klasse Elev udvider model
beskyttet $ fyldbar = [
'std_id',
'std_name',
'std_email',
'std_mobile',
];
Generer falske data
Et stort antal optegnelser er påkrævet for at gemme i eleverstabellen for at vise opgaven med pagination korrekt. Her, den Faker tjenesten bruges i DatabaseSeeder klasse for hurtigt at indsætte et stort antal falske poster i tabellen med studerende til testformål. Åbn DatabaseSeeder.php fil fra placeringen / database / frø /. Rediger filen med følgende kode. Her er et objekt fra Faker klasse oprettes for at generere falske data. Det for hver loop bruges til at indsætte 100 falske poster i studerende bord. Der genereres et 5-cifret tilfældigt tal til std_id Mark. Et falsk navn, falsk e-mail og falsk telefonnummer vil generere til std_name, std_email, og std_mobile felter, henholdsvis.
brug Illuminate \ Database \ Seeder;// Importer DB facade og Faker service
brug Illuminate \ Support \ Facades \ DB;
brug Faker \ Factory som Faker;
klasse DatabaseSeeder udvider såmaskine
/ **
* Seed applikationens database.
*
* @ tilbagevenden ugyldig
* /
offentlig funktion køre ()
$ faker = Faker :: create ();
foreach (interval (1.100) som $ indeks)
DB :: tabel ('studerende') -> indsæt ([
'std_id' => $ faker-> randomNumber ($ nbDigits = 5) ,
'std_name' => $ faker-> navn,
'std_email' => $ faker-> e-mail,
'std_mobile' => $ faker-> phoneNumber,
]);
Kør følgende kommando fra terminalen for at indsætte 100 falske poster i studerende tabel ved hjælp af database såning.
$ php håndværker db: frøÅbn elevtabellen for at kontrollere, om posterne er indsat i tabellen. Du får en lignende output, hvis databaseudsåningen udføres med succes.
Opret en controller til at læse data
Kør følgende kommando fra terminalen for at oprette en controller, der hedder StudentController.
$ php håndværkermærke: controller StudentControllerÅbn controlleren, og udskift koden med følgende kode. Her, den paginat () funktion kaldes med argumentværdien 10 for at vise 10 poster på hver side. Der er 100 poster i tabellen med studerende. Så der oprettes 10-siders links i visningsfilen for at navigere i de andre poster.
navneområde App \ Http \ Controllers;brug App \ Student;
brug Illuminate \ Http \ Request;
klasse StudentController udvider Controller
offentligt funktionsindeks ()
$ studerende = Studerende :: paginate (10);
returvisning ('studerende', kompakt ('studerende'));
Opret visning for at vise data
Opret en visningsfil med navnet studerende.klinge.php med følgende kode. Her er optegnelserne over studerende tabellen vises i tabelform. Det link() funktion kaldes i slutningen af tabellemærket for at få vist pagineringslinjen ved hjælp af bootstrap.
Studenterliste ved hjælp af pagination
ID | Navn | Mobil nummer. | |
---|---|---|---|
$ data-> std_id | $ data-> std_name | $ data-> std_email | $ data-> std_mobile |
!! $ studerende-> links () !!
Opret rute til controlleren
Åbn web.php fil, og tilføj følgende rute for at ringe til indeks() metode til StudentController når brugeren skriver 'studerende' efter grundwebadressen.
Rute :: get ('studerende', '[email protected]');Åbn nu følgende URL fra browseren for at få vist output fra visningen.
http: // localhost / laravelpro / public / studerende
Du får en lignende output, hvis ruten fungerer korrekt. Billedet nedenfor viser de første 10 poster af studerende bord.
For at få vist de sidste 10 poster skal du trykke på linket '10' fra sidelinjen. Det viser en lignende output.
Video tutorial
Konklusion
Laravel-rammen gør pagineringsopgaven lettere end i mange andre PHP-applikationer. Denne tutorial viste dig, hvordan du implementerer pagination med bootstrap i Laravel ved hjælp af falske data for et eksempel. Hvis du er en ny Laravel-bruger og vil vide, hvordan du implementerer pagination i dit projekt, skal denne tutorial hjælpe dig med at lære, hvordan du gør det.