Erreur requête DQL
Résolu
Toto
-
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30427 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai réalisé une requête DQL et une erreur apparaît lorsque je la lance. Voici l'erreur :
Expected Doctrine\ORM\Query\Lexer::T_COMMA, got '-'
Voici ma requête :
Avez-vous une idée ?? :/
J'ai réalisé une requête DQL et une erreur apparaît lorsque je la lance. Voici l'erreur :
Expected Doctrine\ORM\Query\Lexer::T_COMMA, got '-'
Voici ma requête :
SELECT a.updatedAt FROM AppBundle:Account AS a WHERE (a.validate= 1) AND ( DATE_ADD(a.updatedAt, INTERVAL -365 DAY) > DATE_ADD(2016-11-04, INTERVAL -30 DAY) )
Avez-vous une idée ?? :/
1 réponse
-
Bonjour,
Ta date ne devrait elle pas être entre quotes ?
-
Bonjour,
Justement ma date est entre quotes. C'est ça que je ne comprends pas :/
AND ( DATE_ADD("a.updatedAt", INTERVAL -'.$ldap_account_day_validity.' DAY) > DATE_ADD("'.$date_now->format('Y-m-d').'", INTERVAL -30 DAY) )
Ce que je t'avais donné, c'est que m'affiche Symfony lors de l'erreur donc la date est affichée sans quotes mais dans mon code elle est bien entre quotes ;)
QueryException: SELECT a.updatedAt FROM AppBundle:Account AS a WHERE (a.isLdapAccount = 1) AND ( DATE_ADD(a.updatedAt, INTERVAL -365 DAY) > DATE_ADD(2016-11-04, INTERVAL -30 DAY) )
Et j'ai donc cette erreur qui s'affiche : Error: Expected Doctrine\ORM\Query\Lexer::T_COMMA, got '-' -
-
Bonjour,
Voici ma requête changée depuis la dernière fois (j'ai effectué quelques modifs) :
$query = $em->createQuery('SELECT a.updatedAt FROM AppBundle:Account AS a WHERE (a.isLdapAccount = 1) AND TO_DAYS('.$date_now->format('Y-m-d').') - TO_DAYS(a.updated) > '.$ldap_account_day_validity.' ');
Et toujours une erreur :
Error: Expected known function, got 'TO_DAYS' -
On a complètement changé de sujet, là. Pas la même requête, pas la même erreur…
Avec quel système de gestion de base de données travailles-tu ? Ce ne doit pas être mysql, car mysql connaît TO_DAYS et ton message d'erreur dit qu'il ne la connaît pas.
Tu parles de requête DQL, je n'en ai jamais entendu parler (mais je ne suis pas spécialiste). Tu es sûr que tu ne voulais pas dire SQL ? -
Salut le père,
DQL est utilisé par Synfony pour effectuer des requêtes.
C'est une syntaxe un peu particulière...
https://www.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html
-