Laravel Query Builder

Laravel Query Builder
Laravel Query Builder zapewnia prosty i wygodny sposób tworzenia i uruchamiania zapytań bazy danych i jest obsługiwany przez wszystkie systemy baz danych Laravel. Służy do ochrony aplikacji Laravel przed atakiem wtrysku SQL za pomocą wiązania parametrów PDO. Ten pakiet może wykonywać kilka różnych rodzajów operacji bazy danych, takich jak Crud (Wstaw, wybierz, aktualizuj i usuń) i agregują funkcje, takie jak Związek, suma, liczenie, itp. Ten samouczek pokazuje, jak zastosować konstruktor zapytania do wykonywania różnych operacji CRUD w bazie danych.

Wymagania wstępne

Przed rozpoczęciem tego samouczka, najpierw wykonaj następujące zadania.

  1. Utwórz nowy projekt Laravel
  2. Utwórz połączenie bazy danych

Utwórz tabelę

Możesz użyć jednej lub więcej tabel bazy danych, aby zastosować konstruktor zapytań do wykonywania różnych rodzajów zapytań. Nowy stół, nazwany klienci, jest utworzony tutaj, aby pokazać zastosowania Buildera zapytania. Uruchom następujące polecenie, aby utworzyć plik migracyjny do tworzenia struktury klienci tabela. Plik migracyjny zostanie utworzony w baza danych/migracja folder po wykonaniu polecenia.

$ PHP Artisan Make: Migracja Create_Clients_Table

Otwórz nowo utworzony plik migracji i zaktualizuj w górę() Metoda z następującym kodem. Sześć pól zostanie wygenerowanych dla tabeli klientów po uruchomieniu polecenia migracyjnego. Pola są id, nazwa, e -mail, adres, utworzony_at, I aktualizowany_at.

Funkcja publiczna w górę ()

Schema :: „klienci”, funkcja (tabela $ Blueprint)
$ table-> id ();
$ table-> String („name”);
$ TABLE-> String („e-mail”);
$ TABLE-> Text („Adres”);
$ TABLE-> Timestamps ();
);

Uruchom następujące polecenie, aby utworzyć tabelę w bazie danych na podstawie struktury zdefiniowanej w pliku migracji.

Migruj migruj Artisan $

Możesz sprawdzić pola tabeli, otwierając strukturę klienci stół z phpMyAdmin. Następujące wyjście pojawią się po otwarciu struktury tabeli.

Włóż dane do tabeli za pomocą Builder zapytania

Możesz wstawić dane do tabeli za pomocą Buildera zapytania. Tutaj sieć.php Plik służy do wstawienia trzech rekordów do klienci stół i znajduje się w trasy teczka. Otwórz plik i dodaj następującą trasę, aby wstawić rekordy.

Trasa :: get („insert”, function ()
/ * Wstaw 1. rekord */
Db :: „klienci”)-> wstaw ([„name” => 'md. ali ',
„e -mail” => '[email protected] ',
„Adres” => '12/1, Dhanmondi, Dhaka ',
]);
/ * Wstaw 2. rekord */
Db :: „klienci”)-> wstaw ([„name” => 'Sharmin Jahan' ',
„e -mail” => '[email protected] ',
„Adres” => '156, Mirpur, Dhaka',
]);
/ * Wstaw 3. rekord */
Db :: „klienci”)-> wstaw ([„name” => „Mehrab Hossain”,
„e -mail” => '[email protected] ',
„Adres” => '34/a, Mohammedpur, Dhaka ',
]);
/ * Wydrukuj wiadomość */
Echo "

Wkłada się trzy rekordy klientów

);

Uruchom następujący adres URL w dowolnej przeglądarce po uruchomieniu serwera programistycznego Laravel, aby wstawić dane do klienci tabela.

http: // localhost: 8000/wstaw

W przeglądarce pojawi się następujący komunikat po włożeniu danych. Możesz sprawdzić zawartość tabeli, otwierając ją z phpMyAdmin.

Odczytaj dane z tabeli za pomocą Kurentka zapytania

Możesz wykonywać różne typy wybranych zapytań za pomocą Builder Query. Cztery typy rekordów są pobierane za pomocą Builder zapytania w następującej funkcji trasy. Plik widoku o nazwie klienci.ostrze.php jest używany tutaj do pokazania danych pobranych z tabeli, a kod widoku podano później.

Trasa :: get („show”, funkcja ()
/ * Odzyskaj wszystkie rekordy tabeli klientów */
$ clientList1 = db :: tabela („klienci”)-> get ();
/ * Odzyskaj pierwszy rekord tabeli klientów */
$ clientList2 = db :: tabela („klienci”)-> najpierw ();
/ * Odzyskaj trzeci rekord tabeli klientów */
$ ClientList3 = db :: tabela („klienci”)-> Znajdź (3);
/ * Odzyskaj nazwę klienta na podstawie e -maila z tabeli klientów */
$ clientList4 = db :: tabela („klienci”)-> gdzie („e-mail”, „[email protected] ')-> wartość (' name ');
/* Zwróć wartości czterech zmiennych do pliku widoku, aby wyświetlić dane
Pobrane z tabeli */
Return View („Klienci”, ['ClientList1' => $ ClientList1, 'ClientList2' => $ ClientList2,
„ClientList3” => $ ClientList3, „ClientList4” => $ ClientList4]);
);
klienci.ostrze.php

Lista wszystkich klientów



@if (@isset ($ ClientList1))






@ForEach ($ ClientList1 jako $ client1)





@endForeach
Identyfikator klientaNazwaAdresE-mail
$ client1-> id$ client1-> nazwa$ client1-> adres$ client1-> e-mail

@endif

@if (@isset ($ ClientList2-> nazwa))

Nazwa pierwszego klienta to $ ClientList2-> nazwa


@endif
@if (@isset ($ ClientList3-> e-mail))

E -mail trzeciego klienta to $ ClientList3-> e-mail


@endif
@if (@isset ($ ClientList4))

Nazwa klienta na podstawie e -maila to $ ClientList4


@endif

Uruchom następujący adres URL w dowolnej przeglądarce po uruchomieniu serwera programistycznego Laravel w celu odczytania danych z klienci tabela.

http: // localhost: 8000/show

W przeglądarce pojawi się następujące dane wyjściowe po wykonaniu adresu URL. Zawartość $ ClientList1 Zmienna jest pokazana w formie tabelarycznej i wyjściu $ ClientList2, $ ClientList3 I $ ClientList4 są pokazane w linii.

Zaktualizuj dane za pomocą Builder zapytania

Możesz zaktualizować pojedyncze lub wiele pól na podstawie pojedynczych lub wielu warunków za pomocą Builder zapytania. Zgodnie z następującą funkcją trasy, wartość nazwa pole zostanie zaktualizowane na podstawie wartości e-mail pole. Następnie treść wszystkich rekordów w klienci Tabela zostanie pobrana i wysłana do pliku widoku, aby sprawdzić zaktualizowaną zawartość tabeli.

Trasa :: „aktualizacja”, funkcja ()
Db :: tabela („klienci”)-> gdzie („id”, 1)-> aktualizacja (['name' => 'mohammed ali']);
echo „Nazwa pierwszego klienta jest aktualizowana”;
$ clientList1 = db :: tabela („klienci”)-> get ();
Return View („Clients”, ['ClientList1' => $ ClientList1]);
);

Uruchom następujący adres URL w dowolnej przeglądarce po uruchomieniu serwera programistycznego Laravel w celu aktualizacji danych klienci tabela.

http: // localhost: 8000/aktualizacja

W przeglądarce pojawi się następujące dane wyjściowe po wykonaniu adresu URL. Treść $ ClientList1 Zmienna jest pokazana w formie tabelarycznej. Tutaj wartość nazwa pole jest aktualizowane o nową wartość.

Usuń dane za pomocą Builder zapytania

Wszystkie rekordy lub konkretny rekord można usunąć za pomocą Kurent zapytania. Następująca funkcja trasy usunie trzeci rekord w klienci Tabela, odzyskaj wszystkie rekordy po usunięciu i zwróć wartości do pliku widoku.

Trasa :: get („delete”, function ()
Db :: tabela („klienci”)-> gdzie („id”, '=', 3)-> delete ();
Echo „Trzeci rekord został usunięty”;
$ clientList1 = db :: tabela („klienci”)-> get ();
Return View („Clients”, ['ClientList1' => $ ClientList1]);
);

Uruchom następujący adres URL w dowolnej przeglądarce po uruchomieniu serwera programistycznego Laravel, aby usunąć rekord z klienci tabela.

http: // localhost: 8000/usuń

W przeglądarce pojawi się następujące dane wyjściowe po wykonaniu adresu URL. Treść $ ClientList1 Zmienna jest pokazana w formie tabelarycznej. Tutaj trzeci rekord jest usuwany z tabeli.

Film instruktażowy

Wniosek

Podstawowe zastosowania Buildera zapytania są pokazane w tym samouczku, aby pomóc nowym programistom Laravel w lepszym zrozumieniu metod wykonywania zapytań bazy danych w aplikacji Laravel.