Skip to main content

Aan de slag

Wanneer je met Eloquent meerdere modellen ophaalt, krijg je het resultaat terug als een Illuminate\Database\Eloquent\Collection.
Omdat deze klasse Illuminate\Support\Collection extendt, kun je de methoden van de basiscollectie gewoon gebruiken.
Als je eerst de basis van collecties en de introductie tot Eloquent doorneemt, begrijp je de uitbreidingen van Eloquent-collecties gemakkelijker.

Beschikbare methoden

Eloquent\Collection erft alle methoden van de basiscollectie en voegt daar methoden voor modellen aan toe.

append / withoutAppends / setAppends

Hiermee bewerk je de extra attributen bij serialisatie (appends) voor de hele collectie.

contains / diff / except / intersect / only

Voert op basis van modelinstanties of primaire sleutels controles op aanwezigheid, verschil, doorsnede, uitsluiting en selectie uit.

find / findOrFail

Zoekt een model op primaire sleutel in een al opgehaalde collectie.

fresh

Haalt elk model in de collectie opnieuw op met de nieuwste toestand uit de database.

load / loadMissing

Hiermee kun je op een al opgehaalde collectie achteraf relaties eager loaden.

modelKeys

Haalt de lijst met primaire sleutels van de modellen in de collectie op.

makeVisible / makeHidden / mergeVisible / mergeHidden / setVisible / setHidden

Hiermee pas je op collectieniveau de zichtbare en verborgen attributen bij serialisatie aan.

partition

Splitst op basis van een voorwaarde in twee Eloquent\Collection-instanties; de buitenkant wordt teruggegeven als Illuminate\Support\Collection.

toQuery

Maakt een whereIn-query op de primaire sleutels van de opgehaalde modellen, zodat je ze in bulk kunt bijwerken of verwijderen.
In plaats van een lus met losse save()-aanroepen kun je met toQuery() één bulkquery maken; zo combineer je in de praktijk prestaties met leesbaarheid.

unique

Verwijdert dubbele modellen met dezelfde primaire sleutel.

Van Eloquent-collectie naar basiscollectie

collapse, flatten, flip, keys, pluck en zip geven een Illuminate\Support\Collection terug.
Ook als het resultaat van map geen Eloquent-modellen bevat, wordt het omgezet naar de basiscollectie.

Eigen collecties

Wil je een collectieklasse specifiek voor een model gebruiken, kies dan eerst de aanpak met het #[CollectedBy]-attribuut; dat is het duidelijkst.

Het #[CollectedBy]-attribuut (aanbevolen)

De newCollection()-methode (alternatief)

Zodra je newCollection() of #[CollectedBy] definieert, wordt je eigen collectie teruggegeven op de plekken waar normaal een Eloquent\Collection terugkomt.
Wil je dit op alle modellen toepassen, definieer dan newCollection() in een gemeenschappelijk basismodel.

Gerelateerde pagina’s

Collecties

Bekijk eerst de basisbewerkingen van Illuminate\\Support\\Collection.

Introductie tot Eloquent

Fris de basis van modellen en queries op voordat je met Eloquent-collecties aan de slag gaat.
Laatst gewijzigd op 6 september 2026