Bonjour,
J'ai actuellement un soucis qui a mon avis doit être bénin mais a force de tourner autour du pot je n'arrive plus a voir le problème. J'essaye de récupérer des éléments en fonction de date, mon entité en question a deux champs significatifs (dateFrom / dateTo) de type DateTime et je fais la requête suivante:
Cela marche parfaitement bien en local sur mon PC (OS Windows > easyPHP > version 5.6 de PHP) mais pas du tout en production (serveur dédié sous Ubuntu > Apache 2 > version 5.6 de PHP) Aucune erreur n'est vraiment levé mais en tentant débugger je vois bien que c'est les deux lignes de tri par date sur dateFrom / dateTo qui font qu'aucun résultat n'est ressorti (j'ai pensé a vérifié la date et l'heure serveur histoire d'être sure)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $query = $this->createQueryBuilder('p') ->leftJoin('p.categorie','c') ->leftJoin('p.users','u') ->where('p.visible = true') ->andWhere('p.archive = false') ->andWhere('p.quantite > 0') ->andWhere('p.dateFrom <= CURRENT_TIMESTAMP()') ->andWhere('p.dateTo >= CURRENT_TIMESTAMP()') ->orderBy('p.onTop','DESC') ->addOrderBy('p.ordre','ASC') ->addOrderBy('p.createdOn','DESC') ->addSelect('c')->addSelect('u');
J'ai tenté de remplacé CURRENT_TIMESTAMP() par CURRENT_DATE() ou encore par un paramètre mais ca ne change rien au problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [...] ->andWhere('p.dateFrom <= :now') ->andWhere('p.dateTo >= :now') ->setParameter('now',new \DateTime('now'))
Pourriez vous m'aiguiller sur l'origine du problème et comment le résoudre?
Merci d'avance.
Partager