È possibile estendere e registrare la funzione DATE() in doctrine2 per giocare con DQL. controllare questo solution.
Ora, se non si vuole che si estende Doctrine2, qui le mie soluzioni:
della ricerca in base alla data:
È possibile ottenere l'intervallo tra il datetime di inizio di un giorno e il datetime di Alla fine, rispondo già allo here.
Questa è la soluzione più pulita per la data (credo)!
Ora un'altra soluzione facile è quello di confrontare un campo datetime come una stringa con COME operatore, in modo da poter anche fare questo:
$query = $repository->createQueryBuilder('u')->where('u.createdAt LIKE :date')
->setParameter('date', '2013-05-06%')
->getQuery();
$users = $query->getResult();
Ricerca sulla base di un'ora:
I don Conosciamo un'altra soluzione con DQL rispetto al confronto come stringa (a meno che non si estenda la doctrina con DATE), qui il codice:
$query = $um->getRepository()->createQueryBuilder('u')->where('u.createdAt LIKE :date')
->setParameter('date', '____-__-__ 10:45:__')
->getQuery();
Per ricordare, "_" (trattino basso) significa 1 carattere (e qualsiasi carattere!).
Scegli la soluzione;)
è possibile utilizzare query di natale e poi legarsi a un'entità – Nisam