Laravel -Pagination

Laravel -Pagination
Pagination wird verwendet, um viele Datensätze gleichzeitig anzuzeigen, indem die Daten auf mehrere Seiten geteilt werden, um sie lesbar zu machen. Die Verwendung von Pagination in Laravel ist sehr einfach, da diese Funktion in eloquentes ORM und einen Query Builder integriert ist. Die Grenze und der Offset der Paginationen werden automatisch in Laravel berechnet. Der paginieren() Und Verknüpfung() Methoden werden verwendet, um die Paginierung in Laravel zu implementieren. Dieses Tutorial zeigt Ihnen, wie Sie Paginierung in Laravel -Projekten anwenden können.

Voraussetzungen

Bevor Sie dieses Tutorial beginnen, müssen Sie die folgenden Aufgaben erledigen, die in diesem Tutorial nicht behandelt werden.

  • Installieren Sie ein neues Laravel -Projekt
  • Machen Sie die Datenbankverbindung

Erstellen Sie eine Tabellenstruktur mit Migration

Hier das Studenten Die Tabelle wird erstellt, indem Migration verwendet wird, um die Paginierung anzuwenden. Führen Sie den folgenden Befehl aus, um die Migrationsdatei für die zu erstellen Studenten Tisch. Wenn der Befehl erfolgreich ausgeführt wird, wird eine Migrationsdatei unter dem erstellt /Datenbank/Migration Ordner.

$ php Artisan Make: Migration erstellen_students_table -create = Studenten

Gehen Sie in den Ordner und öffnen Sie die Migrationsdatei. Modifiziere den hoch() Methode mit dem folgenden Code, um die Struktur für die zu definieren Studenten Tisch. Die Tabelle enthält 7 Felder. Der Ausweis Das Feld ist das Primärschlüssel- und Auto-Increment-Feld. Der STD_ID, STD_NAME, STD_EMAIL, Und std_mobile Felder enthalten String -Daten. Die letzten beiden Felder speichern die Einfügung und aktualisieren die Zeit des Datensatzes.

öffentliche Funktion ()

Schema :: Create ('Studenten', Funktion (Blueprint $ Tabelle)
$ table-> id ();
$ table-> string ('std_id');
$ table-> string ('std_name');
$ table-> string ('std_email')-> einzigartig ();
$ table-> string ('std_mobile');
$ table-> timestemps ();
);

Führen Sie den folgenden Befehl aus, um die Tabelle in der Datenbank zu erstellen.

$ php Artisan migrieren

Wenn die Tabelle erfolgreich erstellt wird, erhalten Sie die folgende Tabellenstruktur.

Modell erstellen

Führen Sie den folgenden Befehl vom Terminal aus, um ein Modell mit dem Namen zu erstellen Student Für den Schülertisch. Dies erzeugt a Student.Php unter die App Ordner.

$ php Artisan Make: Modellstudent

Öffne das Student.Php Modellieren und ändern Sie die Datei mit dem folgenden Code. Hier, $ fillbar wird deklariert, um zu definieren, welche Felder der Studenten Tabelle sind obligatorisch. Wenn also die Daten eingefügt werden, die STD_ID, STD_NAME, STD_EMAIL, Und std_mobile Felder können nicht leer gehalten werden.

Namespace App;
Verwenden Sie Illuminate \ Database \ eloquent \ Modell;
Klassenschüler erweitern das Modell

geschützt $ fillbar = [
'std_id',
'std_name' ',
'std_email' ',
'std_mobile',
];

Generieren Sie gefälschte Daten

Eine große Anzahl von Aufzeichnungen ist erforderlich, um in der Schülertabelle zu speichern, um die Aufgabe der Paginierung ordnungsgemäß anzuzeigen. Hier das Schwindler Service wird in der verwendet Databaseseeder Klasse, um schnell eine große Anzahl gefälschter Aufzeichnungen in die Tabelle der Schüler einzufügen, um Testzwecke zu testen. Öffne das Databaseseeder.Php Datei aus dem Speicherort /Datenbank/Seed/. Ändern Sie die Datei mit dem folgenden Code. Hier ein Objekt der Schwindler Die Klasse wird erstellt, um gefälschte Daten zu generieren. Der für jede Schleife wird verwendet, um 100 gefälschte Datensätze in die Einführung in die Studenten Tisch. Eine 5-stellige Zufallszahl wird für die generiert std_id Feld. Ein gefälschter Name, eine gefälschte E -Mail und eine gefälschte Telefonnummer generieren für die std_name, std_email, Und std_mobile Felder.

Verwenden Sie Illuminate \ Database \ Seaser;
// DB -Fassade und Faker -Service importieren
Verwenden Sie Illuminate \ Support \ facades \ db;
Verwenden Sie Faker \ Factory als Faker;
Klassendatenbankaseeder erweitert den Sämamer

/**
* Saat der Datenbank der Anwendung.
*
* @return void
*/
öffentliche Funktion run ()

$ faker = faker :: create ();
foreach (Bereich (1.100) als $ index)
DB :: Tabelle ('Schüler')-> Insert ([
'std_id' => $ faker-> randomNumber ($ nbdigits = 5) ,
'std_name' => $ faker-> name,
'std_email' => $ faker-> mail,
'std_mobile' => $ faker-> PhoneNumber,
]);


Führen Sie den folgenden Befehl vom Terminal aus, um 100 gefälschte Datensätze in die Einführung in die Studenten Tabelle mit Datenbankgesaat.

$ php Artisan DB: Saatgut

Öffnen Sie die Tabelle der Schüler, um zu überprüfen, ob die Datensätze in die Tabelle eingefügt werden. Sie erhalten eine ähnliche Ausgabe, wenn die Datenbanksaat erfolgreich durchgeführt wird.

Erstellen Sie einen Controller zum Lesen von Daten

Führen Sie den folgenden Befehl vom Terminal aus, um einen Controller mit dem Namen zu erstellen StudentController.

$ Php Artisan Make: Controller StudentController

Öffnen Sie den Controller und ersetzen Sie den Code durch den folgenden Code. Hier das paginieren() Die Funktion wird mit dem Argumentwert 10 aufgerufen, um 10 Datensätze auf jeder Seite anzuzeigen. Es gibt 100 Aufzeichnungen in der Schülertisch. Daher werden 10-seitige Links in der Ansichtsdatei erstellt, um die anderen Datensätze zu navigieren.

Namespace App \ http \ Controller;
Verwenden Sie App \ Student;
Verwenden Sie Illuminate \ http \ request;
Klasse StudentController erweitert den Controller

public function index ()
$ student = student :: paginate (10);
Return View ('Studenten', kompakt ('Studenten'));

Erstellen Sie die Ansicht, um Daten anzuzeigen

Erstellen Sie eine Ansichtsdatei mit dem Namen Studenten.Klinge.Php mit dem folgenden Code. Hier die Aufzeichnungen der Studenten Die Tabelle wird in tabellarischer Form angezeigt. Der Verknüpfung() Die Funktion wird am Ende des Tabellen -Tags aufgerufen, um die Pagierungsleiste mit Bootstrap anzuzeigen.






Laravel -Pagination Demo





Die Schüler listen mithilfe von Pagination auf













@foreach ($ student as $ data)






@endforach

AUSWEISNameEmailMobile Nr.
$ data-> std_id$ data-> std_name$ data-> std_email$ data-> std_mobile


!! $ student-> links () !!



Route für den Controller erstellen

Öffne das Netz.Php Datei und fügen Sie die folgende Route hinzu, um die anzurufen Index() Methode von StudentController Wenn der Benutzer typisiert 'Studenten' Nach der Basis -URL.

Route :: Get ('Studenten', 'studentController@index');

Öffnen Sie nun die folgende URL aus dem Browser, um die Ausgabe aus der Ansicht anzuzeigen.

http: // localhost/laravelPro/public/Studenten

Sie erhalten eine ähnliche Ausgabe, wenn die Route ordnungsgemäß funktioniert. Das Bild unten zeigt die ersten 10 Datensätze der Studenten Tisch.

Um die letzten 10 Datensätze anzuzeigen, drücken Sie die Link '10' aus der Paginierungsleiste. Es zeigt eine ähnliche Ausgabe an.

Videoanleitung

Abschluss

Das Laravel -Framework erleichtert die Paginierungsaufgabe als in vielen anderen PHP -Anwendungen. Dieses Tutorial hat Ihnen gezeigt. Wenn Sie ein neuer Laravel -Benutzer sind und wissen möchten, wie Sie Paginierung in Ihrem Projekt implementieren, sollte dieses Tutorial Ihnen helfen, zu lernen, wie es geht.