Pobieranie rekordów filtrując po atrybucie w zakresie

0

Cześć,
w bazie mam kolumny from|to z wartościami np

from 2022-10-07 12:00:00
to 2022-10-07 14:00:14

i jakąś datę po które filtruję

2022-10-07 13:00:00

próbuję wykonać zapytanie

Model::whereDate('from', '>=', $date)
                ->whereDate('to', '<=', $date)
                ->get();

jednak zwraca 0. Ogólnie jeśli data jest w zakresie pól from - to w bazie powinno zwrócić rekord. To moje zapytanie wydaje mi się jednak mało logiczne ponieważ przekazywana godzina to 13 a w bazie to jest na 14 dlatego pewnie zwraca 0 ale nie można też tutaj tak po prostu użyć orWhere ponieważ tych godzin może być kilka w sensie może być 13/14/15 itd i powinno szukać właśnie tymi zakresami a jak dam po prostu

orWhere('to', '<=', $date)

to pobierze wszystko ignorując from
Jak to rozwiązać?

0

Takie szybkie pytanie, w bazie danych jaki jest rodzaj kolumny?
Czy w bazie danych przechowywana jest informacja o strefie czasowej?
Jaki jest dokładny typ tych danych.

Jets jeszcze whereBetween https://laravel.com/docs/9.x/queries#additional-where-clauses może to zadziała?

0

type datetime jeśli o to chodzi. Znalazłem coś takiego i w sumie działa

whereRaw('? between start_time and end_time', [$date])
0

@ssquad: Myślę, że whereBetween() też by zadziałało :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1