Machen Sie Konsultationen mit Fluent in Laravel

Obwohl es sehr nützlich ist, die SQL-Sprache beim Erstellen von Webanwendungen zu verwenden, ist es manchmal etwas kompliziert, viele Anweisungen schreiben zu müssen, um zu einfachen Ergebnissen zu gelangen, z. B. das Einfügen oder Erstellen von Abfragen mit geringer oder mittlerer Komplexität Wenn wir Einfügungen vornehmen, müssen wir uns vor SQL-Injektionen schützen.

Fließend
Laravel bietet uns eine Schnittstelle namens Fluent, mit der wir mit unserer Datenbank-Engine interagieren können, ohne eine einzige SQL-Anweisung schreiben zu müssen. Dies bringt uns den Vorteil, dass wir nicht über die Optimierung von Abfragen nachdenken oder uns um SQL-Injections sorgen müssen, ohne Für den Benutzer der alten Schule mag dies jedoch ein wenig einschränkend erscheinen.

Generieren Sie die Migration, um Daten einzufügen

Wie immer, wenn wir eine Änderung in der Datenbank vornehmen müssen, ist es am besten, dies durch eine Migration zu tun. Damit haben wir eine Änderungshistorie und müssen die Datenbank-Engine nicht direkt berühren.

Als Erstes müssen wir die Migrationsdatei generieren. Dazu verwenden wir in artisan den folgenden Befehl:

 php artisan migrate: make add_data_to_shows_table 

Dies sollte uns eine neue Datei in app / database / migrations mit dem Datum, an dem wir die Migration durchführen, und dem Namen derselben generieren. Dies könnte etwa so aussehen:

 2014_07_15_222551_add_data_to_shows_table.php 

Da wir unsere Datei haben, sehen wir uns in der folgenden Abbildung an, wie wir die Methode up () ändern, um die Anweisungen in Fluent zum Einfügen von Daten hinzuzufügen:

laravel_consul_sql_fluent.jpg
Wir können feststellen, dass wir 3 Arrays mit Daten erstellt haben, wobei jedes Element einem Feld der Tabelle entspricht. Dann geben wir mit der DB-Klasse von Laravel die Tabelle an und verwenden die insert () -Methode und übergeben ein Array, das jedes Datenarray und enthält Damit haben wir die Datensätze einfach eingefügt, ohne eine einzige Zeile in SQL schreiben zu müssen.

See also  So installieren Sie VirtualBox unter Ubuntu 17.04

Konsultieren Sie die Daten

Sobald sich die Daten in unserer Tabelle befinden, möchten wir sie natürlich konsultieren. Dazu müssen wir nur ein Modell erstellen, in dem wir die Parameter der Abfrage festlegen können, und dann eine Route, um sie aufzurufen. Schauen wir uns zunächst das Modell an:

laravel_consul_sql_fluent2.jpg
Auf sehr einfache Weise erstellen wir eine Methode, die einen Parameter zur Bestellung und die Ausrichtung dieser Bestellung erhält. Dieser Parameter muss eines der Felder der Modelltabelle sein. Dann erstellen wir ein Objekt vom Typ DB, an das wir die Tabelle als Parameter übergeben des Konstruktors, dann erhalten wir einfach mit der get () -Methode die Abfrage. Wenn wir Sortierparameter haben, rufen wir zuerst order_by () mit ihnen auf und erhalten dann () .

Schließlich werden wir die Route erstellen, indem wir einfach die Methode des Modells aufrufen und damit auf die Datensätze zugreifen und sie mit der helper dd () -Methode anzeigen. Sehen wir uns das folgende Beispiel an:

laravel_consul_sql_fluent3.jpg

Wie wir sehen, konnten wir alles Notwendige tun, um Daten einzufügen und zu lesen, ohne eine SQL-Zeile zu schreiben. Dies ist sehr nützlich, wenn sich wiederholende Aufgaben und eine geringe Komplexität erforderlich sind. Das Interessanteste ist, dass Fluent uns nicht daran hindert, direktes SQL in zu verwenden Wenn nötig, haben wir also genug Vielseitigkeit.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *