laravel

Laravel Query Builder

Laravel Query Builder
Laravel query builder giver en enkel og bekvem måde at oprette og køre databaseforespørgsler på og understøttes af alle Laravel-databasesystemer. Det bruges til at beskytte Laravel-applikationen fra SQL-injektionsangreb ved hjælp af PDO-parameterbinding. Denne pakke kan udføre flere forskellige typer databasehandlinger, f.eks CRUD (Indsæt, vælg, opdater og slet) og samlede funktioner, f.eks UNION, SUM, COUNT, etc. Denne vejledning viser dig, hvordan du anvender en forespørgselbygger til at udføre forskellige CRUD-operationer i databasen.

Forudsætninger

Før du starter denne tutorial, skal du først udføre følgende opgaver.

  1. Opret et nyt Laravel-projekt
  2. Opret databaseforbindelse

Opret en tabel

Du kan bruge en eller flere databasetabeller til at anvende en forespørgselsbygger til udførelse af forskellige typer forespørgsler. En ny tabel, navngivet kunder, oprettes her for at vise anvendelsen af ​​forespørgselsbyggeren. Kør følgende kommando for at oprette en migreringsfil til oprettelse af strukturen i kunder bord. En migrationsfil oprettes i database / migration mappe efter udførelse af kommandoen.

$ php håndværkerfabrik: migration create_clients_table

Åbn den nyoprettede migreringsfil, og opdater op() metode med følgende kode. Der genereres seks felter til klienttabellen efter kørsel af migreringskommandoen. Felterne er id, navn, e-mail, adresse, oprettet_at, og opdateret_at.

offentlig funktion op ()

Skema :: create ('clients', function (Blueprint $ table)
$ tabel-> id ();
$ tabel-> streng ('navn');
$ tabel-> streng ('e-mail');
$ tabel-> tekst ('adresse');
$ tabel-> tidsstempler ();
);

Kør følgende kommando for at oprette tabellen i databasen baseret på strukturen defineret i migreringsfilen.

$ php håndværker migrerer

Du kan kontrollere felterne i tabellen ved at åbne strukturen på kunder bord fra phpMyAdmin. Følgende output vises efter åbning af tabelstrukturen.

Indsæt data i tabel ved hjælp af Query Builder

Du kan indsætte data i tabellen ved hjælp af forespørgselsbyggeren. Her, den web.php fil bruges til at indsætte tre poster i kunder bordet, og det er placeret i ruter folder. Åbn filen, og tilføj følgende rute for at indsætte poster.

Rute :: get ('indsæt', funktion ()
/ * Indsæt 1. post * /
DB :: tabel ('klienter') -> indsæt (['navn' => 'Md. ali ',
'email' => '[email protected]',
'adresse' => '12 / 1, Dhanmondi, Dhaka ',
]);
/ * Indsæt 2. post * /
DB :: tabel ('klienter') -> indsæt (['navn' => 'Sharmin Jahan',
'email' => '[e-mail-beskyttet]',
'adresse' => '156, Mirpur, Dhaka',
]);
/ * Indsæt 3. post * /
DB :: tabel ('klienter') -> indsæt (['name' => 'Mehrab Hossain',
'email' => '[e-mail-beskyttet]',
'adresse' => '34 / A, Mohammedpur, Dhaka ',
]);
/ * Udskriv besked * /
ekko "

Tre klientoptegnelser indsættes

);

Kør følgende URL i enhver browser efter start af Laravel-udviklingsserveren for at indsætte dataene i kunder bord.

http: // localhost: 8000 / indsæt

Følgende meddelelse vises i browseren efter indsættelse af dataene. Du kan kontrollere indholdet af tabellen ved at åbne den fra phpMyAdmin.

Læs data fra tabel ved hjælp af Query Builder

Du kan udføre forskellige typer Vælg forespørgsler ved hjælp af forespørgselsbyggeren. De fire typer optegnelser hentes ved hjælp af forespørgselsbyggeren i den følgende rutefunktion. En visningsfil med navnet kunder.klinge.php bruges her til at vise de data, der er hentet fra tabellen, og koden for visningen er angivet senere.

Rute :: get ('show', funktion ()
/ * Hent alle poster i klienttabellen * /
$ clientList1 = DB :: tabel ('klienter') -> get ();
/ * Hent den første post i klientetabellen * /
$ clientList2 = DB :: tabel ('klienter') -> første ();
/ * Hent den tredje post i klientetabellen * /
$ clientList3 = DB :: tabel ('klienter') -> find (3);
/ * Hent navnet på en klient baseret på e-mailen fra klienttabellen * /
$ clientList4 = DB :: tabel ('klienter') -> hvor ('e-mail', '[e-mail-beskyttet]') -> værdi ('navn');
/ * Returner værdierne for de fire variabler i visningsfilen for at vise dataene
Hentet fra bordet * /
returneringsvisning ('clients', ['clientList1' => $ clientList1, 'clientList2' => $ clientList2,
'clientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
kunder.klinge.php

Liste over alle klienter



@if (@isset ($ clientList1))






@foreach ($ clientList1 som $ client1)





@endforeach
Klient-idNavnAdresseE-mail
$ client1-> id$ client1-> navn$ client1-> adresse$ client1-> email

@Afslut Hvis

@if (@isset ($ clientList2-> navn))

Navnet på den første klient er $ clientList2-> navn


@Afslut Hvis
@if (@isset ($ clientList3-> e-mail))

Den 3. klients e-mail er $ clientList3-> email


@Afslut Hvis
@if (@isset ($ clientList4))

Navnet på klienten baseret på e-mail er $ clientList4


@Afslut Hvis

Kør følgende URL i enhver browser efter start af Laravel-udviklingsserveren for at læse dataene fra kunder bord.

http: // localhost: 8000 / show

Følgende output vises i browseren efter udførelse af URL'en. Indholdet af $ clientList1 variabel er vist i tabelform og output af $ clientList2, $ clientList3 og $ clientList4 vises i en linje.

Opdater data ved hjælp af Query Builder

Du kan opdatere enkelte eller flere felter baseret på enkelte eller flere betingelser ved hjælp af forespørgselsbyggeren. I henhold til følgende rutefunktion er værdien af navn felt opdateres baseret på værdien af e-mail Mark. Dernæst indholdet af alle poster i kunder tabellen hentes og sendes til visningsfilen for at kontrollere det opdaterede indhold i tabellen.

Rute :: get ('opdatering', funktion ()
DB :: tabel ('klienter') -> hvor ('id', 1) -> opdatering (['navn' => 'Mohammed Ali']);
ekko "
Navn på første klient opdateres
";
$ clientList1 = DB :: tabel ('klienter') -> get ();
returneringsvisning ('clients', ['clientList1' => $ clientList1]);
);

Kør følgende URL i enhver browser efter start af Laravel-udviklingsserveren for at opdatere dataene fra kunder bord.

http: // localhost: 8000 / opdatering

Følgende output vises i browseren efter udførelse af URL'en. Indholdet af $ clientList1 variabel er vist i tabelform. Her er værdien af navn felt opdateres med den nye værdi.

Slet data ved hjælp af Query Builder

Alle poster eller en bestemt post kan slettes ved hjælp af forespørgselbyggeren. Den følgende rutefunktion sletter den tredje post i kunder Hent alle poster efter sletning, og returner værdierne i visningsfilen.

Rute :: get ('delete', funktion ()
DB :: tabel ('klienter') -> hvor ('id', '=', 3) -> slet ();
ekko "
Den tredje post slettes
";
$ clientList1 = DB :: tabel ('klienter') -> get ();
returneringsvisning ('clients', ['clientList1' => $ clientList1]);
);

Kør følgende URL i enhver browser efter start af Laravel-udviklingsserveren for at slette en post fra kunder bord.

http: // localhost: 8000 / slet

Følgende output vises i browseren efter udførelse af URL'en. Indholdet af $ clientList1 variabel er vist i tabelform. Her slettes den tredje post fra tabellen.

Video tutorial

Konklusion

De grundlæggende anvendelser af forespørgselsbyggeren er vist i denne vejledning til at hjælpe nye Laravel-udviklere med bedre at forstå metoder til udførelse af databaseforespørgsler i Laravel-applikationen.

Shadow of the Tomb Raider til Linux-vejledning
Shadow of the Tomb Raider er den tolvte tilføjelse til Tomb Raider-serien - en action-adventure-spilfranchise oprettet af Eidos Montreal. Spillet blev...
Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...
Top Oculus App Lab-spil
Hvis du er Oculus-headset-ejer, skal du være opmærksom på sideloading. Sideladning er processen med at installere ikke-butiksindhold på dit headset. S...