Olá pessoas, boa páscoa para vocês ..
Estou tentando verificar se um período (data inicio e data fim) choca com outro período existente no banco ..
Vi aqui que existem 4 possibilidades,
choque pela esquerda (fim choca com periodo existente no banco),
centro (inicio e fim faz intercessão com periodo existente no banco),
direita (inicio choca com periodo existente no banco),
aglomerado (inicio anterior ao existente, e fim posterior ao existente) .. esqueçam essa parte .. :D
Seria isso aqui ...
where (expressoes) or (expressoes) or (expressoes) or (expressoes) ...
->where(DB::expr('('.$inicio.' <= inicio && '.$fim.' >= inicio && '.$fim.' <= fim)'), '', '')
->or_where(DB::expr('(inicio <= '.$inicio.' && fim >= '.$inicio.' && '.$fim.' <= fim)'), '', '')
->or_where(DB::expr('('.$inicio.' >= inicio && fim >= '.$inicio.' && '.$fim.' <= fim)'), '', '')
->or_where(DB::expr('('.$inicio.' <= inicio && '.$fim.' >= fim)'), '', '')
Minha preocupação é com os atributos do where que ficaram sem valor ($op, e $value)