Was ist ORM in Laravel?

ORM steht für „Object-Relational Mapping“ und es ist ein Konzept, das es Entwicklern ermöglicht, ihre Datenbanken in einer objektorientierten Art und Weise zu verwalten, anstatt sich mit SQL-Abfragen zu befassen.

In Laravel wird ORM durch das Eloquent ORM-System bereitgestellt. Eloquent ist ein integriertes ORM-System, das es Entwicklern ermöglicht, mit ihren Datenbanktabellen wie mit regulären PHP-Klassen zu arbeiten. Jede Tabelle hat eine entsprechende Klasse, die als Modell bezeichnet wird, die Methoden bereitstellt, um Daten einzufügen, abzufragen und zu aktualisieren.

Eloquent ermöglicht es Entwicklern, Abfragen mit Methoden wie find, get, first und where auszuführen, anstatt sich mit SQL-Abfragen auseinandersetzen zu müssen. Es bietet auch automatische Synchronisierung von Datenbanktabellen und Spalten, Lazy Loading und viele andere nützliche Funktionen.

Es ist wichtig zu beachten, dass ORM nicht für alle Arten von Projekten oder Anfragen geeignet ist und es in manchen Fällen sinnvoller sein kann, direkt mit SQL-Abfragen zu arbeiten. ORM hilft jedoch dabei, die Code-Wartbarkeit und Lesbarkeit zu verbessern und ermöglicht es Entwicklern, sich auf die Anwendungslogik und nicht auf die Datenbankzugriffe zu konzentrieren.

Ein einfaches Beispiel, wie man das Eloquent ORM in Laravel verwendet, um Daten aus einer Datenbanktabelle abzufragen, wäre:

  1. Erstelle ein Modell, das die Tabelle repräsentiert:
php artisan make:model User
  1. Bearbeite das Modell, um es mit der entsprechenden Tabelle in der Datenbank zu verbinden (normalerweise in der gleichnamigen Tabelle):
<?php

namespace App;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $table = 'users';
}
  1. Verwende das Modell, um Daten aus der Tabelle abzufragen:
<?php

namespace App\Http\Controllers;

use App\User;

class UserController extends Controller
{

    public function index()
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }

}

In diesem Beispiel wer den die all()-Methode des User-Modells verwendet, um alle Datensätze aus der Tabelle „users“ abzufragen. Das Ergebnis ist eine Sammlung von User-Modellen, die in der Ansicht users.index verwendet werden kann.

Man kann auch spezifischere Abfragen mit Methoden wie find, where, first, pluck, count, etc. ausführen.

Zum Beispiel kann man einen bestimmten Benutzer finden:

$user = User::find(1);

oder nach Benutzern suchen, die bestimmte Kriterien erfüllen:

$users = User::where('active', 1)->get();

oder nur bestimmte Felder aus der Tabelle holen:

$user_name = User::where('id', 1)->pluck('name');

Eloquent ORM bietet auch die Möglichkeit, Beziehungen zwischen Tabellen zu definieren und zu verwalten, sowie die Möglichkeit, Daten zu speichern und zu aktualisieren. Es gibt viele weitere Möglichkeiten und Funktionen die Eloquent ORM bietet, ich empfehle daher die Laravel Dokumentationen zu lesen um diese tiefer zu verstehen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert