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 :)
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
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 ???
Bonsoir, Dans ta base de données, l'attribut "DateFinEssai" n'est pas de type "date" ou "datetime" ?
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
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 .
Salut,
soit tu utilises les "Native SQL" queries de Doctrine :
http://doctrine-orm.readthedocs.org/projects/doctrine-orm/en/latest/reference/native-sql.html
soit :
$con = $this->container->get('doctrine')->getConnection();
$stmt = $con->executeQuery($sql, $params,...); // $sql => sql proposé par bahamut45, adaptée à ton cas
voir la classe \Doctrine\DBAL\Connection pour d'autres possibilités !