Förutsättningar
Innan du börjar den här självstudien, ska du först slutföra följande uppgifter.
- Skapa ett nytt Laravel-projekt
- 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 migrerarDu 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))
Klient ID | namn | Adress | E-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 "
$ 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 "
$ 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
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.