doctrine : comparer 2 date

Par mbt, il y a 10 ans


Bonjour,
je travaille sur un projet symfony 2 et je veut compter le nombre d'employée qui ont date fin essai aprés moin d'un mois
Voila je rencontre un petit problème avec mon code.

$Essai1_numberC = $this->container->get('doctrine')->getManager('Mysql')->getRepository('monprojetBundle:employee') ->createQueryBuilder('r') ->where('DATE_DIFF( r.DateFinEssai , CURRENT_DATE()) < 32 AND r.DateFinEssai IS NOT NULL AND r.EnEssai = 1 ') ->getQuery() ->getResult(); $Essai1_number = count($Essai1_numberC) ;

et le nombre que j'obtient n'est pas correct
je ne sais pas pourquoi ça ne marche pas correctement !!!!
merci pour votre aide :)

8 réponses

Bahamut45, il y a 10 ans

Bonsoir,

Avant de faire le count, peut tu me sortir un resultat de ta requete et dans le mode debug de symfony la requete exacte qu'il creait ?

Cordialement

mbt, il y a 10 ans

salut
la problème de mon code c'est que r.DateFinEssai est une chaine de caractère y'a il une moyen pour convertir une chaine de caractére en date dans une requête sql ???

skp, il y a 10 ans

Bonsoir, Dans ta base de données, l'attribut "DateFinEssai" n'est pas de type "date" ou "datetime" ?

Bahamut45, il y a 10 ans

Bonjour,

Je te donne une requete qui pourrait permettre de resoudre ton probleme à toi de l'adapter à ton cas :

SELECT whatever FROM yourtable WHERE STR_TO_DATE(yourdatefield, '%m/%d/%Y') > CURDATE() - INTERVAL 7 DAYS
mbt, il y a 10 ans

bonjour
l'attribut "DateFinEssai" est de type varchar
est concernant la réponse de Bahamut45 la fonction "STR_TO_DATE" n'est pas définie dans doctrine .

rekonko, il y a 10 ans

what is better? symfony or laravel ?