Laravel Query Builder

Laravel Query Builder
Der Laravel Query Builder bietet eine einfache und bequeme Möglichkeit zum Erstellen und Ausführen von Datenbankabfragen und wird von allen Laravel -Datenbanksystemen unterstützt. Es wird verwendet, um die Laravel -Anwendung vor dem SQL -Injektionsangriff mithilfe der PDO -Parameterbindung zu schützen. Dieses Paket kann verschiedene Arten von Datenbankoperationen ausführen, wie z Crud (Einfügen, auswählen, aktualisieren und löschen) und aggregierte Funktionen wie z Gewerkschaft, Summe, Graf, usw. In diesem Tutorial wird angezeigt, wie Sie einen Abfragebauer anwenden, um verschiedene CRUD -Vorgänge in der Datenbank auszuführen.

Voraussetzungen

Bevor Sie dieses Tutorial beginnen, erledigen Sie zunächst die folgenden Aufgaben.

  1. Erstellen Sie ein neues Laravel -Projekt
  2. Datenbankverbindung herstellen

Erstellen Sie eine Tabelle

Sie können einen oder mehrere Datenbanktabellen verwenden, um einen Abfragebäger für die Ausführung verschiedener Abfragetypen anzuwenden. Eine neue Tabelle mit dem Namen Kunden, wird hier erstellt, um die Verwendung des Query Builders zu zeigen. Führen Sie den folgenden Befehl aus, um eine Migrationsdatei zum Erstellen der Struktur der zu erstellen Kunden Tisch. Eine Migrationsdatei wird in der erstellt Datenbank/Migration Ordner nach Ausführung des Befehls.

$ php Artisan make: migration create_clients_table

Öffnen Sie die neu erstellte Migrationsdatei und aktualisieren Sie die hoch() Methode mit dem folgenden Code. Nach dem Ausführen des Migrate -Befehls werden sechs Felder für die Client -Tabelle generiert. Die Felder sind ID, Name, E -Mail, Adresse, erstellt_at, Und aktualisiert am.

öffentliche Funktion ()

Schema :: Create ('Clients', Funktion (Blueprint $ Tabelle)
$ table-> id ();
$ table-> string ('name');
$ table-> String ('E-Mail');
$ table-> text ('Adresse');
$ table-> timestemps ();
);

Führen Sie den folgenden Befehl aus, um die Tabelle in der Datenbank basierend auf der in der Migrationsdatei definierten Struktur zu erstellen.

$ php Artisan migrieren

Sie können die Felder der Tabelle überprüfen, indem Sie die Struktur der Struktur öffnen Kunden Tisch aus dem phpmyadmin. Nach dem Öffnen der Tabellenstruktur wird die folgende Ausgabe angezeigt.

Fügen Sie Daten mit Query Builder in die Tabelle ein

Sie können Daten mit dem Abfragebauer in die Tabelle einfügen. Hier das Netz.Php Die Datei wird verwendet, um drei Datensätze in die Einführung in die Kunden Tisch und es befindet sich in der Routen Ordner. Öffnen Sie die Datei und fügen Sie die folgende Route hinzu, um die Datensätze einzufügen.

Route :: Get ('Einfügen', function ()
/ * 1. Datensatz einfügen */
Db :: table ('clients')-> insert (['name' => 'md. Ali ',
'E -Mail' => '[email protected] ',
'Adresse' => '12/1, Dhanmondi, Dhaka '',
]);
/ * 2. Datensatz einfügen */
Db :: table ('clients')-> insert (['name' => 'sharmin jahan' ',
'E -Mail' => '[email protected] ',
'Adresse' => '156, Mirpur, Dhaka' ',
]);
/ * 3. Datensatz einfügen */
Db :: table ('clients')-> insert (['name' => 'Mehrab Hossain' ',
'E -Mail' => '[email protected] ',
'Adresse' => '34/a, Mohammedpur, Dhaka '',
]);
/ * Meldung drucken */
Echo "

Drei Client -Datensätze werden eingefügt

);

Führen Sie die folgende URL in einem beliebigen Browser aus, nachdem Sie den Laravel Development -Server gestartet haben, um die Daten in die einzufügen Kunden Tisch.

http: // localhost: 8000/einfügen

Die folgende Meldung wird im Browser angezeigt, nachdem die Daten eingefügt wurden. Sie können den Inhalt der Tabelle überprüfen, indem Sie ihn aus dem öffnen phpmyadmin.

Lesen Sie Daten aus der Tabelle mit Query Builder

Sie können verschiedene Arten von Auswahlabfragen mit dem Abfragebauer ausführen. Die vier Arten von Datensätzen werden mit dem Abfragebauer in der folgenden Routenfunktion abgerufen. Eine Ansichtsdatei mit dem Namen Kunden.Klinge.Php wird hier verwendet, um die aus der Tabelle abgerufenen Daten anzuzeigen, und der Code der Ansicht wird später angegeben.

Route :: get ('show', function ()
/ * Alle Datensätze der Client -Tabelle abrufen */
$ clientList1 = db :: table ('clients')-> get ();
/ * Abrufen Sie den ersten Datensatz der Client -Tabelle ab */
$ clientList2 = db :: table ('clients')-> first ();
/ * Abrufen Sie den dritten Datensatz der Client -Tabelle */ab
$ clientList3 = db :: table ('clients')-> find (3);
/ * Abrufen Sie den Namen eines Kunden basierend auf der E -Mail aus der Client -Tabelle */ab */
$ clientList4 = db :: table ('clients')-> wo ('E-Mail', '[email protected] ')-> value (' name ');
/* Gibt die Werte der vier Variablen in die Ansichtsdatei zurück, um die Daten anzuzeigen
Aus der Tabelle abgerufen */
Rückgabeansicht ('Clients', ['ClientList1' => $ clientList1, 'clientlist2' => $ clientlist2,
'ClientList3' => $ clientList3, 'clientList4' => $ clientList4]);
);
Kunden.Klinge.Php

Liste aller Kunden



@if (@ISSET ($ clientList1))






@foreach ($ clientList1 als $ client1)





@endforach
Kunden IDNameAdresseEmail
$ client1-> id$ client1-> name$ client1-> Adresse$ client1-> E-Mail

@endif

@if (@ISSET ($ clientList2-> Name))

Der Name des 1. Kunden ist $ clientlist2-> name


@endif
@if (@ISSET ($ ClientList3-> E-Mail))

Die E -Mail des 3. Kunden lautet $ clientList3-> E-Mail


@endif
@if (@ISSET ($ clientList4))

Der Name des Kunden basierend auf E -Mail ist $ clientList4


@endif

Führen Sie die folgende URL in jedem Browser aus, nachdem Sie den Laravel Development -Server gestartet haben, um die Daten aus dem zu lesen Kunden Tisch.

http: // localhost: 8000/show

Nach der Ausführung der URL wird im Browser die folgende Ausgabe angezeigt. Der Inhalt von $ clientList1 Variable ist in tabellarischer Form und der Ausgabe von angezeigt $ clientlist2, $ clientList3 Und $ clientList4 werden in einer Linie gezeigt.

Aktualisieren Sie die Daten mit dem Abfragebuilder

Sie können einzelne oder mehrere Felder basierend auf einzelnen oder mehreren Bedingungen mit dem Abfragebuilder aktualisieren. Gemäß der folgenden Routenfunktion der Wert der Name Das Feld wird basierend auf dem Wert der aktualisiert Email Feld. Als nächstes der Inhalt aller Datensätze in der Kunden Die Tabelle wird abgerufen und an die Ansichtsdatei gesendet, um den aktualisierten Inhalt der Tabelle zu überprüfen.

Route :: get ('update', function ()
Db :: table ('clients')-> where ('id', 1)-> update (['name' => 'mohammed ali']);
Echo "Name des ersten Kunden wird aktualisiert";
$ clientList1 = db :: table ('clients')-> get ();
Rückgabeansicht ('Clients', ['ClientList1' => $ clientList1]);
);

Führen Sie die folgende URL in jedem Browser aus, nachdem Sie den Laravel Development -Server gestartet haben, um die Daten der Kunden Tisch.

http: // localhost: 8000/update

Nach der Ausführung der URL wird im Browser die folgende Ausgabe angezeigt. Der Inhalt der $ clientList1 Variable ist in tabellarischer Form gezeigt. Hier der Wert der Name Das Feld wird mit dem neuen Wert aktualisiert.

Daten mit dem Abfragebuilder löschen

Alle Datensätze oder einen bestimmten Datensatz können mit dem Query Builder gelöscht werden. Die folgende Routenfunktion löscht den dritten Datensatz in der Kunden Tabelle, alle Datensätze nach dem Löschen abrufen und die Werte in die Ansichtsdatei zurückgeben.

Route :: get ('Delete', function ()
Db :: table ('clients')-> where ('id', '=', 3)-> delete ();
echo "Der dritte Rekord wird gelöscht";
$ clientList1 = db :: table ('clients')-> get ();
Rückgabeansicht ('Clients', ['ClientList1' => $ clientList1]);
);

Führen Sie die folgende URL in jedem Browser aus, nachdem Sie den Laravel Development -Server gestartet haben, um einen Datensatz aus dem zu löschen Kunden Tisch.

http: // localhost: 8000/löschen

Nach der Ausführung der URL wird im Browser die folgende Ausgabe angezeigt. Der Inhalt der $ clientList1 Variable ist in tabellarischer Form gezeigt. Hier wird der dritte Datensatz aus der Tabelle gelöscht.

Videoanleitung

Abschluss

Die grundlegenden Verwendungen des Abfragebuilders werden in diesem Tutorial angezeigt, um New Laravel -Entwicklern zu helfen, Methoden zur Ausführung von Datenbankabfragen in der Laravel -Anwendung besser zu verstehen.