
Usando o git cherry-pick no Git: Quando e Como Usar
O git cherry-pick é um dos comandos mais poderosos e versáteis no Git, mas muitas vezes é mal compreendido ou... Leia mais
Desenvolvedor de Software
Trabalhar com intervalos de datas é uma necessidade comum em aplicações web, especialmente em sistemas que lidam com eventos, agendamentos ou relatórios. Neste artigo, vamos explorar como usar o operador BETWEEN
entre duas colunas de data no Laravel, tanto com o Eloquent quanto com o Query Builder.
Imagine que você possui uma tabela eventos
com as colunas data_inicio
e data_fim
. Você quer consultar todos os eventos que acontecem em uma data específica, como 2024-11-10
. Em SQL, a consulta seria algo como:
SELECT *
FROM eventos
WHERE '2024-11-10' BETWEEN data_inicio AND data_fim;
No Laravel, podemos traduzir essa lógica de forma eficiente usando os recursos do framework.
O Eloquent é a forma mais elegante e intuitiva de trabalhar com o banco de dados no Laravel. Para aplicar o BETWEEN
, usamos a seguinte abordagem:
Exemplo:
use App\Models\Evento;
$dataConsulta = ‘2024-11-10’;
$eventos = Evento::whereBetween($dataConsulta, [‘data_inicio’, ‘data_fim’])->get();
whereBetween()
é usado para especificar o intervalo de comparação.data_inicio
e data_fim
delimitam o intervalo.No entanto, o whereBetween()
não funciona diretamente para comparar colunas no Eloquent. Nesse caso, precisamos usar DB::raw
.
O Query Builder é ideal para casos que exigem maior flexibilidade, como comparações entre colunas. Aqui está como podemos traduzir o BETWEEN
:
use Illuminate\Support\Facades\DB;
$dataConsulta = '2024-11-10';
$eventos = DB::table('eventos')
->whereRaw('? BETWEEN data_inicio AND data_fim', [$dataConsulta])
->get();
whereRaw
permite inserir expressões SQL personalizadas.?
e do array [$dataConsulta]
protege contra SQL Injection.data_fim
está entre data_inicio
e outra coluna, como data_limite
:
$eventos = DB::table('eventos')
->whereRaw('data_fim BETWEEN data_inicio AND data_limite')
->get();
Se preferir, você pode usar operadores lógicos em vez de BETWEEN
:
$dataConsulta = '2024-11-10';
$eventos = Evento::where('data_inicio', '<=', $dataConsulta)
->where('data_fim', '>=', $dataConsulta)
->get();
Consultar dados usando BETWEEN
entre colunas é uma tarefa simples no Laravel, tanto com o Eloquent quanto com o Query Builder. O uso de whereRaw
oferece a flexibilidade necessária para comparações entre colunas, enquanto operadores como >=
e <=
tornam sua consulta mais legível e direta.
Escolha a abordagem que melhor se adapta ao seu cenário e comece a explorar os intervalos de datas no Laravel de forma eficiente!
O git cherry-pick é um dos comandos mais poderosos e versáteis no Git, mas muitas vezes é mal compreendido ou... Leia mais
Elixir é uma linguagem de programação dinâmica e funcional, desenvolvida por José Valim em 2011, projetada para construir aplicações escaláveis... Leia mais
Neste post, você aprenderá a fazer o deploy de uma aplicação Laravel em uma VPS rodando Ubuntu com o servidor... Leia mais
Resolvi retormar meus estudo em Go Lang e assim vamos ao primeiro post dessa série de estudos onde vamos aprender... Leia mais