Forutsetninger
Før du starter denne opplæringen, må du fullføre følgende oppgaver.
- Lag et nytt Laravel-prosjekt
- 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 migrererDu 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))
klient-ID | Navn | Adresse | E-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 "
$ 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 "
$ 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
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.