laravel

Laravel Query Builder

Laravel Query Builder
De Laravel-querybuilder biedt een eenvoudige en handige manier voor het maken en uitvoeren van databasequery's en wordt ondersteund door alle Laravel-databasesystemen. Het wordt gebruikt om de Laravel-toepassing te beschermen tegen de SQL-injectie-aanval met behulp van PDO-parameterbinding. Dit pakket kan verschillende soorten databasebewerkingen uitvoeren, zoals: CRUD (Invoegen, Selecteren, Updaten en Verwijderen) en aggregatiefuncties, zoals: UNIE, SOM, COUNT, enz. Deze zelfstudie laat zien hoe u een querybuilder toepast om verschillende CRUD-bewerkingen in de database uit te voeren.

Vereisten

Voer eerst de volgende taken uit voordat u met deze zelfstudie begint:.

  1. Een nieuw Laravel-project maken
  2. 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_table

Open 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 migreren

U 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))






@foreach($clientList1 als $client1)





@endforeach
klant identificatieNaamAdresE-mail
$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 "
Naam van eerste klant is bijgewerkt
";
$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 "
Het derde record is verwijderd
";
$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

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.

Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...