****Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

$user = $this->container->get('security.context')->getToken()->getUser();
$query=$repository->createQueryBuilder('c')
->select('c.msg')
->where('c.User =$user')
->andwhere('c.expired=0')
->getQuery()
->getResult();

Entourez votre code pour bien le mettre en forme

Ce que je veux

test sur le user concté deja

Ce que j'obtiens

: Error: Expected Literal, got '$'

4 réponses


yanis-git
Réponse acceptée

Il faut absolument passer par la fonction SetParameter tel que :

$user = $this->container->get('security.context')->getToken()->getUser();
$query=$repository->createQueryBuilder('c')
->select('c.msg')
->where('c.user = :user') // je pense qu'ici user doit être minuscule, a voir le nom de ton attribut dans le mapping.
->andwhere('c.expired=0')
->setParameter('user',$user)
->getQuery()
->getResult();

Bonjour

il faut concatené ta variable $user

$user = $this->container->get('security.context')->getToken()->getUser();
$query=$repository->createQueryBuilder('c')
->select('c.msg')
->where('c.User = ' . $user)
->andwhere('c.expired=0')

->getQuery()
->getResult();
joker_7
Auteur

salut j'ai trouvé une erreur
[Semantical Error] line 0, col 62 near 'usera AND c.': Error: 'usera' is not defined.
[1/2] QueryException: SELECT c.msg FROM AppBundle\Entity\calendrier c WHERE c.User = usera AND c.expired=0 +

avec usera c'est le utilisateur qui est deja connecté en cette moment

joker_7
Auteur

salut j'ai trouvé une erreur
[Semantical Error] line 0, col 62 near 'usera AND c.': Error: 'usera' is not defined.