laravel

Laravel Query Builder

Laravel Query Builder
Laravel-frågeställaren ger ett enkelt och bekvämt sätt att skapa och köra databasfrågor och stöds av alla Laravel-databassystem. Den används för att skydda Laravel-applikationen från SQL-injektionsattack med PDO-parameterbindning. Detta paket kan utföra flera olika typer av databasåtgärder, till exempel CRUD (Infoga, markera, uppdatera och ta bort) och aggregerade funktioner, t.ex UNION, SUM, RÄKN, etc. Denna handledning visar hur du använder en frågebyggare för att utföra olika CRUD-operationer i databasen.

Förutsättningar

Innan du börjar den här självstudien, ska du först slutföra följande uppgifter.

  1. Skapa ett nytt Laravel-projekt
  2. Gör databasanslutning

Skapa en tabell

Du kan använda en eller flera databastabeller för att tillämpa en frågebyggare för att utföra olika typer av frågor. En ny tabell, namngiven kunder, skapas här för att visa användningen av frågebyggaren. Kör följande kommando för att skapa en migreringsfil för att skapa strukturen för kunder tabell. En migreringsfil skapas i databas / migration efter att kommandot har körts.

$ php hantverkare: migration create_clients_table

Öppna den nyskapade migreringsfilen och uppdatera upp() metod med följande kod. Sex fält genereras för klienttabellen efter att migreringskommandot har körts. Fälten är id, namn, e-post, adress, skapad_på, och uppdaterad_på.

offentlig funktion upp ()

Schema :: skapa ('klienter', funktion (Blueprint $ tabell)
$ tabell-> id ();
$ table-> string ('name');
$ table-> string ('email');
$ tabell-> text ('adress');
$ tabell-> tidsstämplar ();
);

Kör följande kommando för att skapa tabellen i databasen baserat på strukturen definierad i migreringsfilen.

$ php hantverkare migrerar

Du kan kontrollera fälten i tabellen genom att öppna strukturen på kunder bord från phpMyAdmin. Följande utdata visas när tabellstrukturen har öppnats.

Infoga data i tabellen med hjälp av Query Builder

Du kan infoga data i tabellen med hjälp av frågebyggaren. Här, den webb.php filen används för att infoga tre poster i kunder bordet och det finns i rutter mapp. Öppna filen och lägg till följande rutt för att infoga posterna.

Rutt :: get ('insert', function ()
/ * Infoga 1: a posten * /
DB :: tabell ('klienter') -> infoga (['name' => 'Md. ali ',
'email' => '[email protected]',
'address' => '12 / 1, Dhanmondi, Dhaka ',
]);
/ * Infoga 2: a posten * /
DB :: tabell ('klienter') -> infoga (['name' => 'Sharmin Jahan',
'email' => '[email protected]',
'address' => '156, Mirpur, Dhaka',
]);
/ * Infoga 3: e posten * /
DB :: tabell ('klienter') -> infoga (['name' => 'Mehrab Hossain',
'email' => '[email protected]',
'address' => '34 / A, Mohammedpur, Dhaka ',
]);
/ * Skriv ut meddelande * /
eko "

Tre klientposter infogas

);

Kör följande URL i vilken webbläsare som helst efter att du startat Laravel-utvecklingsservern för att infoga data i kunder tabell.

http: // localhost: 8000 / infoga

Följande meddelande kommer att visas i webbläsaren efter att data har infogats. Du kan kontrollera innehållet i tabellen genom att öppna den från phpMyAdmin.

Läs data från tabellen med hjälp av Query Builder

Du kan utföra olika typer av Select-frågor med hjälp av frågebyggaren. De fyra typerna av poster hämtas med hjälp av frågebyggaren i följande ruttfunktion. En visningsfil med namnet kunder.blad.php används här för att visa data som hämtats från tabellen och koden för vyn ges senare.

Rutt :: get ('visa', funktion ()
/ * Hämta alla poster i klienttabellen * /
$ clientList1 = DB :: tabell ('klienter') -> get ();
/ * Hämta den första posten i klienttabellen * /
$ clientList2 = DB :: tabell ('klienter') -> första ();
/ * Hämta den tredje posten i klienttabellen * /
$ clientList3 = DB :: tabell ('klienter') -> hitta (3);
/ * Hämta namnet på en klient baserat på e-postmeddelandet från klienttabellen * /
$ clientList4 = DB :: tabell ('klienter') -> där ('e-post', '[e-postskyddad' ') -> värde (' namn ');
/ * Returnera värdena för de fyra variablerna i visningsfilen för att visa data
Hämtad från tabellen * /
returvy ('clients', ['clientList1' => $ clientList1, 'clientList2' => $ clientList2,
'clientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
kunder.blad.php

Lista över alla klienter



@if (@isset ($ clientList1))






@foreach ($ clientList1 som $ client1)





@endforeach
Klient IDnamnAdressE-post
$ client1-> id$ client1-> name$ client1-> address$ client1-> e-post

@endif

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

Namnet på den första klienten är $ clientList2-> namn


@endif
@if (@isset ($ clientList3-> e-post))

E-postmeddelandet till den tredje klienten är $ clientList3-> e-post


@endif
@if (@isset ($ clientList4))

Klientens namn baserat på e-post är $ clientList4


@endif

Kör följande URL i vilken webbläsare som helst efter att du startat Laravel-utvecklingsservern för att läsa data från kunder tabell.

http: // localhost: 8000 / show

Följande utdata visas i webbläsaren efter att URL: n har körts. Innehållet i $ clientList1 variabel visas i tabellform och resultatet av $ clientList2, $ clientList3 och $ clientList4 visas i en rad.

Uppdatera data med hjälp av Query Builder

Du kan uppdatera enstaka eller flera fält baserat på enstaka eller flera villkor med hjälp av frågebyggaren. Enligt följande ruttfunktion, värdet på namn fältet kommer att uppdateras baserat på värdet på e-post fält. Därefter kommer innehållet i alla poster i kunder tabellen kommer att hämtas och skickas till visningsfilen för att kontrollera det uppdaterade innehållet i tabellen.

Rutt :: get ('update', function ()
DB :: tabell ('klienter') -> där ('id', 1) -> uppdatering (['namn' => 'Mohammed Ali']);
eko "
Namnet på den första klienten uppdateras
";
$ clientList1 = DB :: tabell ('klienter') -> get ();
returvy ('clients', ['clientList1' => $ clientList1]);
);

Kör följande URL i vilken webbläsare som helst efter att du startat Laravel-utvecklingsservern för att uppdatera data från kunder tabell.

http: // localhost: 8000 / uppdatering

Följande utdata visas i webbläsaren efter att URL: n har körts. Innehållet i $ clientList1 variabel visas i tabellform. Här är värdet på namn fältet uppdateras med det nya värdet.

Ta bort data med hjälp av Query Builder

Alla poster eller en viss post kan raderas med hjälp av frågebyggaren. Följande ruttfunktion tar bort den tredje posten i kunder tabellen, hämta alla poster efter borttagning och returnera värdena i visningsfilen.

Rutt :: get ('delete', function ()
DB :: tabell ('klienter') -> där ('id', '=', 3) -> radera ();
eko "
Den tredje posten raderas
";
$ clientList1 = DB :: tabell ('klienter') -> get ();
returvy ('clients', ['clientList1' => $ clientList1]);
);

Kör följande URL i valfri webbläsare efter att du startat Laravel-utvecklingsservern för att ta bort en post från kunder tabell.

http: // localhost: 8000 / radera

Följande utdata visas i webbläsaren efter att URL: n har körts. Innehållet i $ clientList1 variabel visas i tabellform. Här raderas den tredje posten från tabellen.

Videohandledning

Slutsats

De grundläggande användningarna av frågebyggaren visas i denna handledning för att hjälpa nya Laravel-utvecklare att bättre förstå metoder för att utföra databasfrågor i Laravel-applikationen.

5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...