Vereisten
Voer eerst de volgende taken uit voordat u met deze zelfstudie begint:.
- Een nieuw Laravel-project maken
- Databaseverbinding maken
Een tabel maken
U kunt een of meer databasetabellen gebruiken om een querybuilder toe te passen voor het uitvoeren van verschillende soorten query's. Een nieuwe tafel, genaamd klanten, is hier gemaakt om het gebruik van de querybuilder te tonen. Voer de volgende opdracht uit om een migratiebestand te maken voor het maken van de structuur van de klanten tafel. Er wordt een migratiebestand aangemaakt in de database/migratie map na het uitvoeren van de opdracht.
$ php artisan make:migratie create_clients_tableOpen het nieuw gemaakte migratiebestand en update de omhoog() methode met de volgende code:. Er worden zes velden gegenereerd voor de klantentabel na het uitvoeren van de opdracht migreren. De velden zijn id, naam, e-mail, adres, aangemaakt_at, en bijgewerkt_at.
publieke functie omhoog()Schema::create('clients', function (Blueprint $table)
$tabel->id();
$table->string('naam');
$table->string('e-mail');
$table->text('adres');
$table->timestamps();
);
Voer de volgende opdracht uit om de tabel in de database te maken op basis van de structuur die is gedefinieerd in het migratiebestand:.
$ php artisan migrerenU kunt de velden van de tabel controleren door de structuur van de . te openen klanten tafel uit de phpMijnAdmin. De volgende uitvoer verschijnt na het openen van de tabelstructuur:.
Gegevens invoegen in tabel met behulp van Query Builder
U kunt gegevens in de tabel invoegen met behulp van de querybuilder. Hier de web.php bestand wordt gebruikt om drie records in te voegen in de klanten tafel en het is gelegen in de routes map. Open het bestand en voeg de volgende route toe om de records in te voegen:.
Route::get('insert', functie ()/* Voeg 1e record in */
DB::table('clients')->insert(['name' => 'Md. al',
'email' => '[e-mail beveiligd]',
'adres' => '12/1, Dhanmondi, Dhaka',
]);
/* 2e record invoegen */
DB::table('clients')->insert(['name' => 'Sharmin Jahan',
'email' => '[e-mail beveiligd]',
'adres' => '156, Mirpur, Dhaka',
]);
/* Voeg 3e record in */
DB::table('clients')->insert(['name' => 'Mehrab Hossain',
'email' => '[e-mail beveiligd]',
'adres' => '34/A, Mohammedpur, Dhaka',
]);
/* Bericht afdrukken */
echo "
Er zijn drie klantrecords ingevoegd
Voer de volgende URL uit in een browser na het starten van de Laravel-ontwikkelserver om de gegevens in te voegen in de klanten tafel.
http://localhost:8000/insert
Na het invoeren van de gegevens verschijnt het volgende bericht in de browser:. U kunt de inhoud van de tabel controleren door deze te openen vanuit de phpMijnAdmin.
Gegevens uit tabel lezen met Query Builder
U kunt verschillende typen Select-query's uitvoeren met behulp van de querybuilder. De vier typen records worden opgehaald met behulp van de querybuilder in de volgende routefunctie:. Een weergavebestand met de naam klanten.blad.php wordt hier gebruikt om de gegevens weer te geven die uit de tabel zijn opgehaald en de code van de weergave wordt later gegeven.
Route::get('toon', functie ()/* Haal alle records van de klantentabel op */
$clientList1 = DB::table('clients')->get();
/* Haal het eerste record van de klantentabel op */
$clientList2 = DB::table('clients')->first();
/* Haal het derde record van de klantentabel op */
$clientList3 = DB::table('clients')->find(3);
/* Haal de naam van een klant op op basis van de e-mail uit de klantentabel */
$clientList4 = DB::table('clients')->where('email','[email protected]')->value('name');
/* Retourneer de waarden van de vier variabelen in het weergavebestand om de gegevens te tonen
Opgehaald uit de tabel */
return view('clients', ['clientList1' => $clientList1,'clientList2' => $clientList2,
'clientList3' => $clientList3, 'clientList4' => $clientList4]);
);
klanten.blad.php
Lijst met alle klanten
@if(@isset($clientList1))
klant identificatie | Naam | Adres | |
---|---|---|---|
$client1->id | $cliënt1->naam | $client1->adres | $client1->e-mail |
@stop als
@if(@isset($clientList2->naam))
De naam van de 1e klant is $clientList2->naam
@stop als
@if(@isset($clientList3->e-mail))
Het e-mailadres van de 3e klant is: $clientList3->e-mail
@stop als
@if(@isset($clientList4))
De naam van de klant op basis van e-mail is $clientList4
@stop als
Voer de volgende URL uit in een browser na het starten van de Laravel-ontwikkelserver om de gegevens van de: klanten tafel.
http://localhost:8000/show
De volgende uitvoer verschijnt in de browser na het uitvoeren van de URL:. De inhoud van $clientList1 variabele wordt weergegeven in tabelvorm en de uitvoer van $clientList2, $clientList3 en $clientList4 worden weergegeven in een lijn.
Gegevens bijwerken met Query Builder
U kunt enkele of meerdere velden bijwerken op basis van enkele of meerdere voorwaarden met behulp van de querybuilder. Volgens de volgende routefunctie is de waarde van de naam veld wordt bijgewerkt op basis van de waarde van de e-mail veld-. Vervolgens wordt de inhoud van alle records in de klanten tabel wordt opgehaald en naar het weergavebestand gestuurd om de bijgewerkte inhoud van de tabel te controleren.
Route::get('update', functie ()DB::table('clients')->where('id', 1)->update(['name' => 'Mohammed Ali']);
echo "
$clientList1 = DB::table('clients')->get();
return view('clients', ['clientList1' => $clientList1]);
);
Voer de volgende URL uit in een browser na het starten van de Laravel-ontwikkelserver om de gegevens van de: klanten tafel.
http://localhost:8000/update
De volgende uitvoer verschijnt in de browser na het uitvoeren van de URL:. De inhoud van de $clientList1 variabele wordt weergegeven in tabelvorm. Hier, de waarde van de naam veld wordt bijgewerkt met de nieuwe waarde.
Gegevens verwijderen met Query Builder
Alle records of een bepaalde record kunnen worden verwijderd met behulp van de querybuilder. De volgende routefunctie verwijdert het derde record in de klanten tabel, haal alle records op na verwijdering en retourneer de waarden in het weergavebestand.
Route::get('verwijder', functie ()DB::table('clients')->where('id', '=', 3)->delete();
echo "
$clientList1 = DB::table('clients')->get();
return view('clients', ['clientList1' => $clientList1]);
);
Voer de volgende URL uit in een browser na het starten van de Laravel-ontwikkelserver om een record te verwijderen uit de klanten tafel.
http://localhost:8000/delete
De volgende uitvoer verschijnt in de browser na het uitvoeren van de URL:. De inhoud van de $clientList1 variabele wordt weergegeven in tabelvorm. Hier wordt het derde record uit de tabel verwijderd.
Video uitleg Conclusie
Conclusie
Het basisgebruik van de querybuilder wordt in deze zelfstudie getoond om nieuwe Laravel-ontwikkelaars te helpen de methoden voor het uitvoeren van databasequery's in de Laravel-toepassing beter te begrijpen.