laravel

Laravel Pagination

Laravel Pagination
Pagination bruges til at vise mange poster på én gang ved at opdele dataene i flere sider for at gøre det læsbart. Brug af paginering i Laravel er meget enkel, fordi denne funktion er integreret med Eloquent ORM og en forespørgselsbygger. Grænsen og forskydningen af ​​paginationerne beregnes automatisk i Laravel. Det paginat () og link() metoder anvendes til at implementere paginering i Laravel. Denne vejledning viser dig, hvordan du anvender pagination i Laravel-projekter.

Forudsætninger

Inden du starter denne tutorial, skal du udføre følgende opgaver, der ikke er dækket af denne tutorial.

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 = studerende

Gå 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 migrerer

Hvis 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.






Laravel Pagination Demo





Studenterliste ved hjælp af pagination













@foreach ($ studerende som $ data)






@endforeach

IDNavnE-mailMobil 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.

Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...
Bedste apps til Gamepad Mapping til Linux
Hvis du kan lide at spille spil på Linux med en gamepad i stedet for et typisk tastatur- og musesystem, er der nogle nyttige apps til dig. Mange pc-sp...
Nyttige værktøjer til Linux-spillere
Hvis du kan lide at spille spil på Linux, er chancerne for, at du måske har brugt apps og hjælpeprogrammer som Wine, Lutris og OBS Studio for at forbe...