02 - Consultas Query Builder.

article featured image

O que é o Query Builder?

O Query Builder do Laravel é uma ferramenta flexível e poderosa para construir e executar consultas SQL de forma programática. É uma alternativa ao Eloquent ORM, ideal para cenários em que buscas maior controlo sobre as consultas ou precisas de desempenho otimizado.

É uma ferramenta versátil e eficiente para trabalhar com bases de dados. Ele permite construir consultas SQL de forma programática, utilizando métodos intuitivos que facilitam o desenvolvimento e a manutenção do código. Aqui estão as principais vantagens:

1. Flexibilidade: O Query Builder é ideal para cenários que exigem consultas SQL personalizadas. Ele permite criar consultas complexas como joins, agrupamentos e agregações sem precisar recorrer a SQL bruto.

2. Suporte a Múltiplos Tipos de Bases de Dados: Com uma única interface, podes trabalhar com diferentes sistemas de bases de dados (MySQL, PostgreSQL, SQLite, etc.), sem alterar o código ao migrar de uma base para outra.

3. Melhor Desempenho: Ao contrário do Eloquent ORM, que é orientado a objetos e mais abstrato, o Query Builder é mais leve e direto, oferecendo melhor desempenho para consultas complexas ou em grandes volumes de dados.

4. Sintaxe Intuitiva: A sua API baseada em métodos é fácil de aprender e utilizar. Com métodos como join(), where() e orderBy(), podes construir consultas de forma rápida e clara, sem necessidade de memorizar sintaxe SQL.

5. Resultados em Arrays Simples: O Query Builder retorna os resultados como arrays associativos, o que é ideal para situações em que apenas precisas dos dados sem as funcionalidades adicionais de modelos.

6. Compatibilidade com o Eloquent: O Query Builder pode ser utilizado juntamente com o Eloquent ORM. Em situações específicas, podes alternar entre os dois métodos, dependendo das necessidades de desempenho e simplicidade.

7. Menos Sobrecarga: Por ser mais direto, o Query Builder introduz menos sobrecarga do que o Eloquent, tornando-o ideal para scripts ou tarefas que precisam de interações rápidas e eficientes com a base de dados.

Em resumo, o Query Builder do Laravel oferece uma solução poderosa e flexível para criar consultas SQL programaticamente, equilibrando eficiência e simplicidade. É especialmente útil em cenários onde o controlo e o desempenho são prioritários.

 

Estrutura das Tabelas

Vamos ter em conta as seguintes tabelas:

  • Microbio: Contém os os produtos de microbiologia.
    Campos principais: id, nome.

  • MicroArmarios: Liga micróbios a armários e regista a quantidade.
    Campos principais: micro_id (FK), arm_id (FK), qt.

  • Armarios: Contém os armários.
    Campos principais: id, descricaolocalizacao.

 

Exemplos Práticos com Query Builder

Neste primeiro exemplo vamos ver como obter os armários e as quantidades associadas a um produto de microbiologia específico:

 

Este segundo exemplo pretende listar todos os produto de microbiologia num armário específico:

 

Por último, vamos ver um exemplo que permite calcular o total de produtos de microbiologia armazenados em cada armário:

 

Vantagens do Query Builder vs Eloquent

O Query Builder é uma excelente ferramenta para quem procura flexibilidade e controlo na construção de queries SQL em Laravel. É especialmente útil em projetos que necessitam de alto desempenho ou consultas complexas. No entanto, o Eloquent ORM continua a ser preferido para desenvolvimento rápido e orientado a objetos.

Post Seguinte