02 - Eloquent ORM.

article featured image

O que é Eloquent ORM?

Eloquent é o ORM (Object Relational Mapper) integrado no Laravel que permite trabalhar com bases de dados de forma simples, utilizando modelos e relações em vez de queries SQL diretas.

O Eloquent ORM é uma das ferramentas mais poderosas do Laravel, projetada para facilitar o trabalho com bases de dados relacionais. Ao utilizá-lo, o desenvolvimento de aplicações torna-se mais simples, rápido e organizado. Abaixo estão algumas das principais vantagens:

1. Abstração do SQL: Com o Eloquent, não precisas de escrever queries SQL complexas manualmente. Todas as interações com a base de dados são feitas através de métodos no modelo, o que torna o código mais limpo e intuitivo.

2. Manipulação Direta de Objetos: Os resultados das consultas são retornados como objetos do modelo correspondente, o que permite trabalhar diretamente com os dados como se fossem classes PHP. Isto torna o código mais legível e reduz a necessidade de manipular arrays ou resultados brutos.

3. Relações Definidas no Modelo: Com Eloquent, podes definir relações diretamente nos modelos, como hasMany, belongsToMany e hasOne. Estas relações permitem navegar facilmente entre tabelas relacionadas sem necessidade de escrever queries adicionais.

4. Facilidade na Manutenção do Código: A centralização das relações e da lógica de negócio nos modelos facilita a manutenção e a escalabilidade do projeto. Alterações na base de dados podem ser refletidas rapidamente apenas ajustando os modelos.

5. Integração com o Laravel: Por estar totalmente integrado no Laravel, o Eloquent funciona perfeitamente com outras ferramentas do framework, como validação, middleware e autenticação, otimizando o fluxo de desenvolvimento.

6. Funções Avançadas Simplificadas: Com o Eloquent, tarefas como paginação, ordenação, agrupamento e até queries complexas tornam-se simples de implementar através de métodos intuitivos, como paginate(), orderBy() e groupBy().

7. Legibilidade e Produtividade: Ao utilizar Eloquent, o código torna-se mais fácil de ler e compreender, mesmo para quem não está habituado a trabalhar com SQL. Isso aumenta a produtividade da equipa e reduz os erros.

8. Query Builder Integrado: Se necessário, o Eloquent permite combinar a facilidade dos modelos com o poder do Query Builder, proporcionando maior flexibilidade em casos de queries personalizadas.

Em resumo, o Eloquent não só simplifica o desenvolvimento como também melhora a eficiência e a organização do código, sendo uma excelente ferramenta para lidar com bases de dados no Laravel.

 

Como criar relações entre modelos?

Vamos ter em conta as seguintes tabelas:

  • Microbio: Tabela que armazena informações sobre os micróbios.
    Campos principais: id (PRIMARY KEY), nome.

  • Micro_armarios: Tabela pivô que liga micróbios a armários, com uma coluna adicional para a quantidade (qt).
    Campos principais: micro_id (FOREIGN KEY), arm_id (FOREIGN KEY), qt.

  • Armarios: Tabela que armazena informações dos armários.
    Campos principais: id (PRIMARY KEY), descricaolocalizacao.

 

Como definir os Modelos?

Modelo Microbio

Modelo Armario

Modelo MicroArmarios

 

Como criar consultas?

O primeiro exemplo que vamos ver pretende obter os armários e as quantidades de um produto de Microbiologia específico:

Este segundo exemplo pretende que seja da a descrição do armário, qual o laboratório onde se encontra o armário e ainda a quantidade do produto de MicroBiologia nesse armário:

 

Como podemos observar o Eloquent ORM facilita a manipulação de bases de dados ao permitir trabalhar diretamente com objetos e relações. A criação de métodos como belongsToMany reduz a complexidade de SQL e melhora a produtividade no desenvolvimento.

 

 

Post Seguinte