🧠 Laravel Eloquent: Como Fazer Eager Load de Relacionamentos Aninhados com Sintaxe de Array Limpa
Se você está construindo aplicações com Laravel, provavelmente já se deparou com o problema de consultas N+1. Felizmente, o Laravel Eloquent torna super fácil resolver isso usando eager loading.
Mas você sabia que também pode fazer eager load de relacionamentos aninhados usando uma sintaxe de array limpa?
Vamos tornar isso super simples. 👇
✅ O Problema
Quando você busca um modelo e seus relacionamentos sem eager loading, o Laravel consulta o banco de dados repetidamente para cada modelo relacionado. Isso deixa sua aplicação lenta.
✅ A Solução Limpa
Use o método with() e passe um array que inclua qualquer relacionamento aninhado. Aqui está uma forma limpa e legível de carregar dados aninhados:
Book::with([
'author' => [
'contacts',
'publisher',
],
])->get();
Este código:
- Obtém todos os livros
- Carrega o
authorde cada livro - Para cada
author, também carrega seuscontactsepublisher
Tudo em um conjunto limpo de consultas 💡
📌 Por Que Isso Importa
- Melhor desempenho com menos consultas
- Código mais limpo que é fácil de ler e manter
- Perfeito para respostas de API ou quando se trabalha com relacionamentos complexos
💬 Dica Final
Sempre que estiver carregando dados aninhados, prefira sempre esta sintaxe de array limpa. Ela mantém sua base de código elegante — e sua aplicação ultra rápida. 🔥