Eloquent ORM (Object-Relational Mapping)

Alltags-Analogie

einem geschickten Dolmetscher vergleichen, der zwischen zwei Sprachen vermittelt, die eigentlich nicht zueinander passen

Was steckt dahinter?

ORM, ausgeschrieben Object-Relational Mapping, lässt sich am ehesten mit einem geschickten Dolmetscher vergleichen, der zwischen zwei Sprachen vermittelt, die eigentlich nicht zueinander passen: der objektorientierten Welt des Programmcodes (Klassen, Objekte, Methoden) und der relationalen Welt der Datenbank (Tabellen, Zeilen, Spalten, SQL-Befehle). Ein ORM übersetzt einfache, programmiersprachliche Anweisungen automatisch in die passenden Datenbankbefehle, sodass Entwickler nicht selbst SQL schreiben müssen. Eloquent ist das ORM, das standardmäßig in Laravel mitgeliefert wird, und gilt als eines der ausdrucksstärksten und entwicklerfreundlichsten ORMs im PHP-Ökosystem. Statt eines rohen SQL-Befehls wie `SELECT * FROM customers WHERE id = 5` schreibt man in Eloquent einfach `Customer::find(5)` und bekommt ein fertiges PHP-Objekt zurück, mit dem man direkt weiterarbeiten kann. Beziehungen zwischen Tabellen, wie sie im ER-Modell geplant wurden, lassen sich in Eloquent über Methoden wie `hasMany`, `belongsTo` oder `belongsToMany` direkt im sogenannten “Model” abbilden. Der große Vorteil eines ORMs wie Eloquent liegt nicht nur in der Lesbarkeit des Codes, sondern auch in der Sicherheit: Da Eloquent Werte automatisch korrekt absichert (escaped), bevor sie in die Datenbank gelangen, sinkt das Risiko klassischer Angriffe wie SQL Injection erheblich, ohne dass Entwickler sich aktiv darum kümmern müssen. Die grundlegenden Datenoperationen, die mit Eloquent durchgeführt werden, entsprechen dabei dem klassischen CRUD-Schema.