laravel

Laravel Query Builder

Laravel Query Builder
Laravel-spørringsbyggeren gir en enkel og praktisk måte å opprette og kjøre databasespørsmål på, og støttes av alle Laravel-databasesystemene. Den brukes til å beskytte Laravel-applikasjonen mot SQL-injeksjonsangrep 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, COUNT, etc. Denne veiledningen viser deg hvordan du bruker en spørringsbygger til å utføre forskjellige CRUD-operasjoner i databasen.

Forutsetninger

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

  1. Lag et nytt Laravel-prosjekt
  2. Opprett 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, er opprettet her for å vise bruken av spørringsbyggeren. Kjør følgende kommando for å opprette en migreringsfil for å lage strukturen til klienter bord. Det blir opprettet en migreringsfil i database / migrering mappen etter at du har utført kommandoen.

$ php kunsthåndverk: migrering create_clients_table

Åpne den nylig opprettede migreringsfilen og oppdater opp() metode med følgende kode. Seks felt vil bli generert for klienttabellen etter at migreringskommandoen er kjørt. Feltene er id, navn, e-postadresse, opprettet_på, og oppdatert_på.

offentlig funksjon opp ()

Schema :: create ('clients', function (Blueprint $ table)
$ tabell-> id ();
$ table-> streng ('navn');
$ table-> string ('email');
$ tabell-> tekst ('adresse');
$ tabell-> tidsstempler ();
);

Kjør følgende kommando for å lage tabellen i databasen basert på strukturen definert i migreringsfilen.

$ php håndverker migrerer

Du kan sjekke feltene i tabellen ved å åpne strukturen til klienter bord fra phpMyAdmin. Følgende utdata vises etter åpning av tabellstrukturen.

Sett inn data i tabellen ved hjelp av Query Builder

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

Rute :: get ('insert', function ()
/ * Sett inn første post * /
DB :: tabell ('klienter') -> sett inn (['name' => 'Md. ali ',
'email' => '[e-postbeskyttet]',
'adresse' => '12 / 1, Dhanmondi, Dhaka ',
]);
/ * Sett inn andre post * /
DB :: table ('clients') -> insert (['name' => 'Sharmin Jahan',
'email' => '[e-postbeskyttet]',
'adresse' => '156, Mirpur, Dhaka',
]);
/ * Sett inn 3. post * /
DB :: table ('clients') -> insert (['name' => 'Mehrab Hossain',
'email' => '[e-postbeskyttet]',
'adresse' => '34 / A, Mohammedpur, Dhaka ',
]);
/ * Skriv ut melding * /
ekko "

Tre klientposter er satt inn

);

Kjør følgende URL i hvilken som helst nettleser etter at du har startet Laravel-utviklingsserveren for å sette inn dataene i klienter bord.

http: // localhost: 8000 / innsats

Følgende melding vises i nettleseren etter innsetting av dataene. Du kan sjekke innholdet i tabellen ved å åpne den fra phpMyAdmin.

Les data fra tabellen ved hjelp av Query Builder

Du kan utføre forskjellige typer Select-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 kalt klienter.blad.php brukes her for å vise data hentet fra tabellen og koden for visningen er gitt senere.

Rute :: get ('show', function ()
/ * Hent alle poster i klienttabellen * /
$ clientList1 = DB :: tabell ('klienter') -> get ();
/ * Hent den første posten i klienttabellen * /
$ clientList2 = DB :: tabell ('klienter') -> første ();
/ * Hent den tredje posten i 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', '[e-postbeskyttet]') -> verdi ('navn');
/ * Returner verdiene til de fire variablene i visningsfilen for å vise dataene
Hentet fra bordet * /
return view ('clients', ['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-> navn))

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


@slutt om
@if (@isset ($ clientList3-> e-post))

E-postadressen 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 at du har startet Laravel-utviklingsserveren for å lese dataene fra klienter bord.

http: // localhost: 8000 / show

Følgende utdata vises i nettleseren etter at URL-en er utført. Innholdet i $ clientList1 variabel er vist i tabellform og utdata fra $ clientList2, $ clientList3 og $ clientList4 vises i en linje.

Oppdater data ved hjelp av Query Builder

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

Rute :: get ('update', function ()
DB :: tabell ('klienter') -> hvor ('id', 1) -> oppdatering (['name' => 'Mohammed Ali']);
ekko "
Navnet på den første klienten er oppdatert
";
$ clientList1 = DB :: tabell ('klienter') -> get ();
returvisning ('klienter', ['clientList1' => $ clientList1]);
);

Kjør følgende URL i en hvilken som helst nettleser etter at du har startet Laravel-utviklingsserveren for å oppdatere dataene til klienter bord.

http: // localhost: 8000 / oppdatering

Følgende utdata vises i nettleseren etter at URL-en er utført. Innholdet i $ clientList1 variabel vises i tabellform. Her er verdien av Navn feltet oppdateres med den nye verdien.

Slett data ved hjelp av Query Builder

Alle poster eller en bestemt post kan slettes ved hjelp av spørringsbyggeren. Følgende rutefunksjon sletter den tredje posten i klienter tabellen, henter alle poster etter sletting, og returnerer verdiene i visningsfilen.

Rute :: get ('delete', function ()
DB :: tabell ('klienter') -> hvor ('id', '=', 3) -> slett ();
ekko "
Den tredje posten slettes
";
$ clientList1 = DB :: tabell ('klienter') -> get ();
returvisning ('klienter', ['clientList1' => $ clientList1]);
);

Kjør følgende URL i hvilken som helst nettleser etter at du har startet Laravel-utviklingsserveren for å slette en post fra klienter bord.

http: // localhost: 8000 / slett

Følgende utdata vises i nettleseren etter at URL-en er utført. Innholdet i $ clientList1 variabel vises i tabellform. Her slettes den tredje posten fra tabellen.

Videoopplæring

Konklusjon

De grunnleggende bruken av spørringsbyggeren er vist i denne veiledningen for å hjelpe nye Laravel-utviklere til bedre å forstå metoder for å utføre databasespørsmål i Laravel-applikasjonen.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...