Laravel Pagination

Laravel Pagination
Paginering brukes til å vise mange poster samtidig ved å dele dataene på flere sider for å gjøre dem lesbar. Å bruke paginering i Laravel er veldig enkelt fordi denne funksjonen er integrert med veltalende ORM og en spørringsbygger. Grensen og forskyvningen av paginasjonene beregnes automatisk i Laravel. De paginat () og lenke () Metoder brukes til å implementere paginering i Laravel. Denne opplæringen viser deg hvordan du bruker paginering i Laravel -prosjekter.

Forutsetninger

Før du starter denne opplæringen, må du fullføre følgende oppgaver som ikke er dekket i denne opplæringen.

  • Installer et nytt Laravel -prosjekt
  • Lage databasetilkoblingen

Lag en tabellstruktur ved hjelp av migrasjon

Her, The studenter Tabellen vil bli opprettet ved å bruke migrasjon for å anvende paginasjonen. Kjør følgende kommando for å opprette migrasjonsfilen for studenter bord. Hvis kommandoen kjøres vellykket, vil den opprette en migrasjonsfil under /database/migrasjon mappe.

$ PHP Artisan Make: Migration Create_Students_Table -Create = Studenter

Gå til mappen og åpne migrasjonsfilen. Endre opp() metode med følgende kode for å definere strukturen for studenter bord. Tabellen vil inneholde 7 felt. De id Felt vil være den primære nøkkel- og auto-increment-feltet. De std_id, std_name, std_email, og std_mobile Felt vil inneholde strengdata. De to siste feltene vil lagre innsetting og oppdatere posten.

offentlig funksjon opp ()

SCHEMA :: CREATE ('Students', Function (Blueprint $ Table)
$ tabell-> id ();
$ tabell-> String ('std_id');
$ tabell-> String ('std_name');
$ tabell-> String ('std_email')-> unik ();
$ tabell-> String ('std_mobile');
$ tabell-> tidsstempler ();
);

Kjør følgende kommando for å opprette tabellen i databasen.

$ php håndverker migrerer

Hvis tabellen opprettes vellykket, vil du få følgende tabellstruktur.

Lage modell

Kjør følgende kommando fra terminalen for å lage en navngitt modell Student For studentbordet. Dette vil skape en Student.PHP under appen mappe.

$ PHP Artisan Make: Model Student

Åpne Student.PHP modeller og endre filen med følgende kode. Her, $ fylles erklært å definere hvilke felt av studenter Tabellen er obligatorisk. Så når dataene settes inn, er std_id, std_name, std_email, og std_mobile Felt kan ikke holdes tomme.

namespace -app;
Bruk Illuminate \ Database \ Eloquent \ Model;
Klassestudent utvider modellen

beskyttet $ fillable = [
'std_id',
'std_name',
'std_email',
'std_mobile',
];

Generere falske data

Et stort antall poster vil bli pålagt å lagre i studentbordet for å vise pagineringsoppgaven riktig. Her, The Faker Tjenesten brukes i Databaseseeder Klasse for raskt å sette inn et stort antall falske poster i studentbordet for testformål. Åpne Databaseseeder.PHP fil fra stedet /database/frø/. Endre filen med følgende kode. Her, et objekt av Faker Klasse opprettes for å generere falske data. De for hver Loop brukes til å sette inn 100 falske poster i studenter bord. Et 5-sifret tilfeldig tall vil bli generert for std_id felt. Et falskt navn, falsk e -post og falskt telefonnummer vil generere for std_name, STD_Email, og std_mobile Felt, henholdsvis.

Bruk Illuminate \ Database \ seeder;
// Importer DB Facade and Faker Service
Bruk Illuminate \ Support \ Facades \ DB;
Bruk Faker \ Factory som Faker;
Klassedatabaseseeder utvider seeder

/**
* Frø applikasjonens database.
*
* @return void
*/
offentlig funksjonskjøring ()

$ faker = faker :: create ();
foreach (rekkevidde (1100) som $ indeks)
DB :: Table ('Studenter')-> Sett inn ([
'std_id' => $ faker-> randomNumber ($ nbdigits = 5) ,
'std_name' => $ faker-> navn,
'STD_Email' => $ Faker-> E-post,
'std_mobile' => $ faker-> phonenumber,
]);


Kjør følgende kommando fra terminalen for å sette inn 100 falske poster i studenter Tabell ved hjelp av databasefrø.

$ PHP Artisan DB: Seed

Åpne studentbordet for å sjekke om postene er satt inn i tabellen. Du får en lignende utdata hvis databasen er gjort med hell.

Opprett en kontroller for å lese data

Kjør følgende kommando fra terminalen for å opprette en kalt kontroller StudentController.

$ PHP Artisan Make: Controller StudentController

Åpne kontrolleren og erstatt koden med følgende kode. Her, The paginat () Funksjon kalles med argumentverdien 10 for å vise 10 poster på hver side. Det er 100 poster i studentbordet. Så det blir opprettet 10-siders lenker i visningsfilen for å navigere i de andre postene.

namespace -app \ http \ kontrollere;
Bruk app \ student;
Bruk Illuminate \ http \ forespørsel;
klasse StudentController utvider kontrolleren

offentlig funksjonsindeks ()
$ studenter = student :: paginat (10);
Return View ('Students', Compact ('Students'));

Lag visning for å vise data

Lag en visningsfil som heter studenter.blad.PHP med følgende kode. Her, postene til studenter Tabellen vises i tabellform. De lenke () Funksjon kalles på slutten av tabellmerket for å vise pagineringslinjen ved hjelp av bootstrap.






Laravel Pagination Demo





Studenters liste ved hjelp av paginering













@foreach ($ studenter som $ data)






@endforeach

IdNavnE -postMobilnr.
$ data-> std_id$ data-> std_name$ data-> std_email$ data-> std_mobile


!! $ studenter-> lenker () !!



Lag rute for kontrolleren

Åpne Web.PHP fil og legg til følgende rute for å ringe indeks () Metode av StudentController Når brukeren typer 'studenters Etter basen URL.

Rute :: Get ('Studenter', 'StudentController@Index');

Nå, åpne følgende URL fra nettleseren for å vise utdataene fra visningen.

http: // localhost/laravelpro/offentlighet/studenter

Du vil få en lignende utdata hvis ruten fungerer ordentlig. Bildet nedenfor viser de første 10 postene av studenter bord.

For å vise de 10 siste postene, trykker du på lenken '10' fra Pagination Bar. Den vil vise en lignende utgang.

Videoopplæring

Konklusjon

Laravel -rammeverket gjør pagineringsoppgaven enklere enn i mange andre PHP -applikasjoner. Denne opplæringen viste deg hvordan du implementerer paginering med Bootstrap i Laravel ved å bruke falske data for et eksempel. Hvis du er en ny Laravel -bruker og vil vite hvordan du implementerer paginering i prosjektet ditt, bør denne opplæringen hjelpe deg med å lære hvordan du gjør det.