Paginacja laravela

Paginacja laravela
Paginacja służy do wyświetlania wielu rekordów jednocześnie poprzez dzielenie danych na wiele stron, aby były czytelne. Używanie paginacji w Laravel jest bardzo proste, ponieważ ta funkcja jest zintegrowana z elokwentnym ORM i budowniczym zapytań. Limit i przesunięcie paginacji są obliczane automatycznie w Laravel. paginować() I połączyć() Metody są stosowane do wdrożenia paginacji w Laravele. Ten samouczek pokazuje, jak zastosować paginację w projektach Laravel.

Wymagania wstępne

Przed rozpoczęciem tego samouczka musisz wykonać następujące zadania, które nie są objęte tym samouczkiem.

  • Zainstaluj nowy projekt Laravel
  • Wykonaj połączenie bazy danych

Utwórz strukturę tabeli za pomocą migracji

Tutaj studenci Tabela zostanie utworzona za pomocą migracji do zastosowania paginacji. Uruchom następujące polecenie, aby utworzyć plik migracyjny dla studenci tabela. Jeśli polecenie uda się utworzyć, utworzy plik migracji w ramach /baza danych/migracja teczka.

$ PHP Artisan Make: Migracja create_students_table -Create = Studenci

Przejdź do folderu i otwórz plik migracji. Zmodyfikuj w górę() Metoda z następującym kodem w celu zdefiniowania struktury dla studenci tabela. Tabela będzie zawierać 7 pól. ID pole będzie kluczem podstawowym i polem automatycznego wzrostu. STD_ID, STD_NAME, STD_EMAIL, I std_mobile Pola będą zawierać dane ciągów. Dwa ostatnie pola przechowują wstawienie i zaktualizuje czas rekordu.

Funkcja publiczna w górę ()

Schema :: „studenci”, funkcja (tabela $)
$ table-> id ();
$ tabela-> string ('std_id');
$ tabela-> string ('std_name');
$ table-> string ('std_email')-> unikalne ();
$ table-> string ('std_mobile');
$ TABLE-> Timestamps ();
);

Uruchom następujące polecenie, aby utworzyć tabelę w bazie danych.

Migruj migruj Artisan $

Jeśli tabela zostanie utworzona pomyślnie, otrzymasz następującą strukturę tabeli.

Utwórz model

Uruchom następujące polecenie z terminalu, aby utworzyć model o nazwie Student Do tabeli uczniów. To stworzy Student.php pod Aplikacja teczka.

$ PHP Artisan Make: Model Student

Otworzyć Student.php Model i zmodyfikuj plik za pomocą następującego kodu. Tutaj, $ wypełnione jest zadeklarowany, aby określić, które pola studenci Tabela jest obowiązkowa. Tak więc, gdy dane są wstawane, STD_ID, STD_NAME, STD_EMAIL, I std_mobile Pola nie mogą być puste.

Aplikacja przestrzeni nazw;
Użyj Illuminate \ Database \ eloquent \ Model;
Klasa uczeń rozszerza model

Protected $ filebable = [
„std_id”,
„STD_NAME”,
„STD_EMAIL”,
„std_mobile”,
];

Generować fałszywe dane

Do przechowywania w tabeli uczniów wymagana będzie duża liczba rekordów, aby poprawnie pokazać zadanie paginacji. Tutaj Faker Usługa jest używana w DataBaseSeEder klasa, aby szybko wstawić dużą liczbę fałszywych rekordów w tabeli uczniów do celów testowych. Otworzyć DataBaseSeEder.php Plik z lokalizacji /baza danych/nasiona/. Zmodyfikuj plik za pomocą następującego kodu. Tutaj obiekt Faker Klasa jest tworzona w celu wygenerowania fałszywych danych. dla każdego pętla służy do wstawienia 100 fałszywych rekordów do studenci tabela. Dla 5-cyfrowej liczby losowej zostanie wygenerowana dla std_id pole. Fałszywa nazwa, fałszywy e -mail i fałszywy numer telefonu wygenerują dla Std_name, STD_EMAIL, I std_mobile odpowiednio pola.

Użyj Illuminate \ Batabase \ Seeder;
// Importuj fasadę DB i usługi Faker
Użyj Illuminate \ Support \ faceades \ db;
Użyj Faker \ Factory jako Faker;
klasowy baza bazowa rozszerza Seeder

/**
* Podejmować bazę danych aplikacji.
*
* @return void
*/
funkcja publiczna Run ()

$ faker = faker :: create ();
Foreach (zakres (1100) jako $ index)
Db :: „studenci”)-> Wstaw ([
'std_id' => $ faker-> losowa liczba ($ nbdigits = 5) ,
„Std_name” => $ faker-> nazwa,
„std_email” => $ faker-> e-mail,
„std_mobile” => $ faker-> foneNumber,
]);


Uruchom następujące polecenie z terminala, aby wstawić 100 fałszywych rekordów do studenci Tabela za pomocą sadzenia bazy danych.

$ PHP Artisan DB: nasiona

Otwórz tabelę uczniów, aby sprawdzić, czy rekordy są wstawiane do tabeli. Otrzymasz podobne dane wyjściowe, jeśli sadzenie bazy danych zostanie zakończone pomyślnie.

Utwórz kontroler do odczytu danych

Uruchom następujące polecenie z terminalu, aby utworzyć nazwany kontroler StudentController.

$ PHP Artisan Make: StudentController kontrolera

Otwórz kontroler i wymień kod następującym kodem. Tutaj paginować() Funkcja jest wywoływana z wartością argumentu 10, aby wyświetlić 10 rekordów na każdej stronie. W tabeli uczniów jest 100 rekordów. Tak więc 10-stronicowe linki zostaną utworzone w pliku widoku, aby poruszać się po innych rekordach.

przestrzeń nazw app \ http \ controllers;
Użyj App \ Student;
Użyj Illuminate \ http \ żądanie;
Klasa StudentController rozszerza kontroler

indeks funkcji publicznej ()
$ studenci = student :: pagate (10);
Widok powrotu („Studenci”, Compact („Studenci”));

Utwórz widok, aby wyświetlić dane

Utwórz plik widoku o nazwie studenci.ostrze.php z następującym kodem. Tutaj, zapisy studenci Tabela zostanie wyświetlona w formie tabelarycznej. połączyć() Funkcja jest wywoływana na końcu znacznika tabeli, aby wyświetlić pasek paginacji za pomocą bootstrap.






Demo Pagination Laravel





Lista uczniów za pomocą paginacji













@ForEach ($ studenci jako $ dane)






@endForeach

IDNazwaE-mailMobile nr.
$ data-> std_id$ data-> std_name$ data-> std_email$ data-> std_mobile


!! $ studenci-> linki () !!



Utwórz trasę dla kontrolera

Otworzyć sieć.php złożyć i dodaj następującą trasę, aby zadzwonić do indeks() metoda StudentController Gdy użytkownicy są typustudenci ' Po podstawowym adresie URL.

Trasa :: „studenci”, „studentController@index”);

Teraz otwórz następujący adres URL z przeglądarki, aby wyświetlić wyjście z widoku.

http: // localhost/laravelpro/public/studenci

Otrzymasz podobne wyjście, jeśli trasa działa poprawnie. Poniższy obraz wyświetla pierwsze 10 rekordów studenci tabela.

Aby wyświetlić ostatnie 10 rekordów, naciśnij link „10” z paska paginacji. Wyświetli podobne wyjście.

Film instruktażowy

Wniosek

Framework Laravel sprawia, że ​​zadanie paginacji jest łatwiejsze niż w wielu innych aplikacjach PHP. Ten samouczek pokazał, jak wdrożyć paginację z bootstrap w Laravel, używając na przykład fałszywych danych. Jeśli jesteś nowym użytkownikiem Laravel i chcesz wiedzieć, jak wdrożyć paginację w swoim projekcie, ten samouczek powinien pomóc w nauce tego, jak to zrobić.