Skip to main content

Einführung

Wenn Sie mit Eloquent mehrere Modelle abfragen, erhalten Sie das Ergebnis als Illuminate\Database\Eloquent\Collection. Da diese Klasse von Illuminate\Support\Collection erbt, stehen alle Methoden der Basis-Collection zur Verfügung.
Machen Sie sich zunächst mit der grundlegenden Collection und der Einführung in Eloquent vertraut – so verstehen Sie die Erweiterungen der Eloquent-Collection leichter.

Verfügbare Methoden

Eloquent\Collection erbt alle Methoden der Basis-Collection und ergänzt zusätzliche, modellorientierte Methoden.

append / withoutAppends / setAppends

Verwaltet die bei der Serialisierung angehängten Attribute (Appends) für die gesamte Collection.

contains / diff / except / intersect / only

Führt anhand von Modellinstanzen oder Primärschlüsseln Enthaltensein, Differenz, Schnittmenge, Ausschluss oder Auswahl durch.

find / findOrFail

Sucht in einer bereits geladenen Collection ein Modell über den Primärschlüssel.

fresh

Lädt alle Modelle der Collection erneut mit ihrem aktuellen Datenbankzustand.

load / loadMissing

Lädt Relationen einer bereits geladenen Collection nachträglich per Eager Loading.

modelKeys

Liefert die Primärschlüssel aller Modelle in der Collection.

makeVisible / makeHidden / mergeVisible / mergeHidden / setVisible / setHidden

Ermöglicht es, die bei der Serialisierung sichtbaren bzw. verborgenen Attribute auf Collection-Ebene anzupassen.

partition

Teilt anhand einer Bedingung in zwei Eloquent\Collection-Objekte auf; der äußere Container ist eine Illuminate\Support\Collection.

toQuery

Erzeugt eine whereIn-Abfrage über die Primärschlüssel der geladenen Modelle, mit der Sie zum Beispiel Massenaktualisierungen oder -löschungen durchführen können.
Statt einer Schleife mit einzelnen save()-Aufrufen bringt die Umwandlung in eine gebündelte Query per toQuery() in der Praxis oft bessere Performance und lesbareren Code.

unique

Entfernt Modelle mit doppeltem Primärschlüssel.

Umwandlung in eine Basis-Collection

Die Methoden collapse, flatten, flip, keys, pluck und zip liefern eine Illuminate\Support\Collection zurück. Enthält das Ergebnis eines map-Aufrufs keine Eloquent-Modelle, wird ebenfalls in eine Basis-Collection konvertiert.

Eigene Collections

Möchten Sie für ein Modell eine dedizierte Collection-Klasse verwenden, ist das Attribut #[CollectedBy] die klarste Möglichkeit.

Attribut #[CollectedBy] (empfohlen)

Methode newCollection() (Alternative)

Wenn Sie newCollection() oder #[CollectedBy] definieren, wird an Stellen, an denen normalerweise eine Eloquent\Collection zurückgegeben würde, Ihre eigene Collection verwendet. Sollen alle Modelle davon profitieren, definieren Sie newCollection() in einer gemeinsamen Basisklasse.

Verwandte Seiten

Collections

Vertiefen Sie zuerst die Grundlagen von Illuminate\Support\Collection.

Einführung in Eloquent

Frischen Sie Modelle und Query-Grundlagen auf, bevor Sie mit Eloquent-Collections weiterarbeiten.
Zuletzt geändert am 13. Juli 2026