🧠 Laravel Eloquent: Geneste relaties eager loaden met overzichtelijke array-syntaxis
Als u applicaties bouwt met Laravel, bent u waarschijnlijk al eens het N+1-queryprobeem tegengekomen. Gelukkig maakt Laravel Eloquent het heel eenvoudig om dit op te lossen via eager loading.
Maar wist u ook dat u geneste relaties kunt eager loaden met een overzichtelijke array-syntaxis?
We maken het zo simpel mogelijk. 👇
✅ Het probleem
Wanneer u een model en zijn relaties ophaalt zonder eager loading, raakt Laravel de database keer op keer aan voor elk gerelateerd model. Dit vertraagt uw applicatie.
✅ De overzichtelijke oplossing
Gebruik de with()-methode en geef een array mee die geneste relaties bevat. Hier is een nette en leesbare manier om geneste data te laden:
Book::with([
'author' => [
'contacts',
'publisher',
],
])->get();
Deze code zal:
- Alle boeken ophalen
- De
authorvan elk boek laden - Voor elke
authorook decontactsenpublisherladen
Alles in één overzichtelijke queryset 💡
📌 Waarom dit belangrijk is
- Betere prestaties met minder queries
- Overzichtelijkere code die gemakkelijk te lezen en te onderhouden is
- Perfect voor API-responses of bij complexe relaties
💬 Afsluitende tip
Geef altijd de voorkeur aan deze overzichtelijke array-syntaxis bij het laden van geneste data. Het houdt uw codebase elegant — en uw applicatie razendsnel. 🔥