Laravel Query Builder

Laravel Query Builder
Laravel Query Builder gir en enkel og praktisk måte å lage og kjøre databasespørsmål og støttes av alle Laravel -databasesystemene. Det brukes til å beskytte Laravel -applikasjonen mot SQL -injeksjonsangrepet ved hjelp av PDO -parameterbinding. Denne pakken kan utføre flere forskjellige typer databaseoperasjoner, for eksempel Crud (Sett inn, velg, oppdater og slett) og samlede funksjoner, for eksempel Union, sum, telle, etc. Denne opplæringen viser deg hvordan du bruker en spørringsbygger for å utføre forskjellige CRUD -operasjoner i databasen.

Forutsetninger

Før du starter denne opplæringen, må du først fullføre følgende oppgaver.

  1. Lag et nytt Laravel -prosjekt
  2. Lage databasetilkobling

Lag et bord

Du kan bruke en eller flere databasetabeller for å bruke en spørringsbygger for å utføre forskjellige typer spørsmål. Et nytt bord, kalt klienter, opprettes her for å vise bruken av spørringsbyggeren. Kjør følgende kommando for å opprette en migrasjonsfil for å lage strukturen til klienter bord. En migrasjonsfil vil bli opprettet i Database/migrasjon mappe etter utførelse av kommandoen.

$ PHP Artisan Make: Migration Create_Clients_table

Åpne den nyopprettede migrasjonsfilen og oppdater opp() Metode med følgende kode. Seks felt vil bli generert for klienttabellen etter å ha kjørt migrate -kommandoen. Feltene er id, navn, e -post, adresse, opprettet_at, og oppdatert_at.

offentlig funksjon opp ()

Skjema :: create ('klienter', funksjon (blåkopi $ tabell)
$ tabell-> id ();
$ tabell-> streng ('navn');
$ tabell-> String ('e-post');
$ tabell-> tekst ('adresse');
$ tabell-> tidsstempler ();
);

Kjør følgende kommando for å opprette tabellen i databasen basert på strukturen som er definert i migrasjonsfilen.

$ php håndverker migrerer

Du kan sjekke feltene på tabellen ved å åpne strukturen til klienter bord fra phpmyadmin. Følgende utgang vises etter å ha åpnet tabellstrukturen.

Sett inn data i tabell ved hjelp av spørringsbygger

Du kan sette inn data i tabellen ved hjelp av spørringsbyggeren. Her, The Web.PHP fil brukes til å sette inn tre poster i klienter bord og det ligger i ruter mappe. Åpne filen og legg til følgende rute for å sette inn postene.

Rute :: Get ('Sett inn', funksjon ()
/ * Sett inn 1. post */
DB :: tabell ('klienter')-> Sett inn (['Navn' => 'MD. Ali ',
'e -post' => '[email protected] ',
'Adresse' => '12/1, Dhanmondi, Dhaka ',
]);
/ * Sett inn 2. plate */
DB :: Table ('Clients')-> Sett inn (['Navn' => 'Sharmin Jahan',
'e -post' => '[email protected] ',
'adresse' => '156, mirpur, dhaka',
]);
/ * Sett inn 3. post */
DB :: Table ('Clients')-> Sett inn (['Navn' => 'Mehrab Hossain',
'e -post' => '[email protected] ',
'Adresse' => '34/A, Mohammedpur, Dhaka ',
]);
/ * Skriv ut melding */
ekko "

Tre klientposter er satt inn

);

Kjør følgende URL i en hvilken som helst nettleser etter å ha startet Laravel Development Server for å sette inn dataene i klienter bord.

http: // localhost: 8000/insert

Følgende melding vises i nettleseren etter å ha satt inn dataene. Du kan sjekke innholdet i tabellen ved å åpne det fra phpmyadmin.

Les data fra tabell ved hjelp av spørringsbygger

Du kan utføre forskjellige typer utvalgte spørsmål ved hjelp av spørringsbyggeren. De fire typene poster blir hentet ved hjelp av spørringsbyggeren i følgende rutefunksjon. En visningsfil som heter klienter.blad.PHP brukes her for å vise dataene som er hentet fra tabellen, og koden for visningen er gitt senere.

Rute :: get ('show', funksjon ()
/ * Hent alle poster over klienttabellen */
$ clientList1 = db :: tabell ('klienter')-> get ();
/ * Hent den første posten av klienttabellen */
$ clientList2 = db :: tabell ('klienter')-> først ();
/ * Hent den tredje posten til klienttabellen */
$ clientList3 = db :: tabell ('klienter')-> finn (3);
/ * Hent navnet på en klient basert på e -posten fra klienttabellen */
$ clientList4 = db :: tabell ('klienter')-> hvor ('e-post', '[email protected] ')-> verdi (' navn ');
/* Returner verdiene til de fire variablene i visningsfilen for å vise dataene
Hentet fra bordet */
Returnvisning ('klienter', ['ClientList1' => $ clientList1, 'ClientList2' => $ clientList2,
'ClientList3' => $ clientList3, 'ClientList4' => $ clientList4]);
);
klienter.blad.PHP

Liste over alle klienter



@if (@isset ($ clientList1))






@foreach ($ clientList1 som $ client1)





@endforeach
klient-IDNavnAdresseE -post
$ client1-> id$ client1-> name$ client1-> adresse$ client1-> e-post

@slutt om

@If (@Isset ($ clientList2-> name))

Navnet på den første klienten er $ clientList2-> name


@slutt om
@If (@Isset ($ clientList3-> e-post))

E -posten til den tredje klienten er $ clientList3-> e-post


@slutt om
@If (@Isset ($ clientList4))

Navnet på klienten basert på e -post er $ clientList4


@slutt om

Kjør følgende URL i en hvilken som helst nettleser etter å ha startet Laravel Development Server for å lese dataene fra klienter bord.

http: // localhost: 8000/show

Følgende utdata vises i nettleseren etter å ha utført nettadressen. Innholdet i $ clientList1 variabel er vist i tabellform og utgangen av $ clientList2, $ clientList3 og $ clientList4 vises i en linje.

Oppdater data ved hjelp av spørringsbygger

Du kan oppdatere enkelt- eller flere felt basert på enkelt eller flere forhold ved hjelp av spørringsbyggeren. I henhold til følgende rutefunksjon er verdien av Navn felt vil bli oppdatert basert på verdien av e -post felt. Deretter innholdet i alle poster i klienter Tabellen blir hentet og sendt til visningsfilen for å sjekke det oppdaterte innholdet i tabellen.

Rute :: get ('oppdatering', funksjon ()
Db :: tabell ('klienter')-> hvor ('id', 1)-> oppdatering (['navn' => 'mohammed ali']);
ekko "Navn på First Client er oppdatert";
$ clientList1 = db :: tabell ('klienter')-> get ();
Return View ('Clients', ['ClientList1' => $ clientList1]);
);

Kjør følgende URL i en hvilken som helst nettleser etter å ha startet Laravel Development Server for å oppdatere dataene til klienter bord.

http: // localhost: 8000/oppdatering

Følgende utdata vises i nettleseren etter å ha utført nettadressen. Innholdet i $ clientList1 Variabel er vist i tabellform. Her, verdien av Navn Feltet oppdateres med den nye verdien.

Slett data ved hjelp av spørringsbygger

Alle poster eller en bestemt post kan slettes ved hjelp av spørringsbyggeren. Følgende rutefunksjon vil slette den tredje posten i klienter Tabell, hent alle poster etter sletting, og returner verdiene i visningsfilen.

Rute :: get ('slett', funksjon ()
Db :: tabell ('klienter')-> hvor ('id', '=', 3)-> slett ();
ekko "Den tredje posten blir slettet";
$ clientList1 = db :: tabell ('klienter')-> get ();
Return View ('Clients', ['ClientList1' => $ clientList1]);
);

Kjør følgende URL i en hvilken som helst nettleser etter å ha startet Laravel Development Server for å slette en post fra klienter bord.

http: // localhost: 8000/slett

Følgende utdata vises i nettleseren etter å ha utført nettadressen. Innholdet i $ clientList1 Variabel er vist i tabellform. Her blir den tredje posten slettet fra tabellen.

Videoopplæring

Konklusjon

Grunnbruken til Query Builder vises i denne opplæringen for å hjelpe nye Laravel -utviklere med å bedre forstå metoder for å utføre databasespørsmål i Laravel -applikasjonen.