Pular para conteúdo

Exercícios: Aula 07 - Eloquent ORM 💎

🟢 Básico

  1. Busca: Como você buscaria um único registro pelo seu ID usando o Eloquent? E como buscaria apenas o primeiro registro que atenda a uma condição de nome?
  2. Convenções: Se você tem uma tabela chamada super_herois, qual deve ser o nome da classe Model no Laravel para que ele a reconheça automaticamente?

🟡 Intermediário

  1. Persistência: Demonstre as duas formas de salvar um novo registro no banco: instanciando o objeto e usando o método estático create(). Não esqueça de mencionar a propriedade $fillable.
  2. Relacionamentos: Implemente o código do método dentro de um Model Autor para definir que ele possui muitos Livros. Em seguida, mostre como você iteraria sobre os livros de um autor específico na View.

🔴 Desafio

5. Eager Loading: O que é o problema das "N+1 consultas" e como o método with() do Eloquent resolve isso? Dê um exemplo prático de como listar 50 posts e seus respectivos autores de forma performática.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Busca **Resposta Comentada:** - **Fundamentação:** No contexto de **Eloquent ORM**, o conceito abordado (Busca) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Convenções **Resolução e Implementação:**
// Estrutura de implementação recomendada para Convenções
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Eloquent ORM**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Persistência **Resolução e Implementação:**
// Estrutura de implementação recomendada para Persistência
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Eloquent ORM**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Relacionamentos **Resolução e Implementação:**
// Estrutura de implementação recomendada para Relacionamentos
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Eloquent ORM**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Eager Loading **Resolução e Implementação:**
// Estrutura de implementação recomendada para Eager Loading
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Eloquent ORM**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.