Bonjour,
Je fais une requête pour obtenir un "Client" qui contient des interventions. Je dois récupérer le client demandé et trier toutes ses interventions par leur nom :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public function oneClientSortedByInterventionNames($idClient) { return $this->createQueryBuilder('c') ->where('c.id = :idClient') ->setParameter('idClient', $idClient) ->orderBy('c.interventions', 'ASC') ->getQuery() ->getResult(); }
Dans l'entité "Client" j'ai un attribut "interventions" qui est une relation @ManyToMany comme cela :
Avec cette requête j'obtiens le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 /** * @ORM\ManyToMany(targetEntity="Sdz\ReportBundle\Entity\Intervention", mappedBy="clients", cascade={"persist", "remove", "merge"}) **/ private $interventions;
... et la trace de la requête est la suivante :[Semantical Error] line 0, col 81 near 'interventions': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
500 Internal Server Error - QueryException
1 linked Exception:
- QueryException »
Cela fait de très nombreuses heures que je cherche à faire cette requête mais en vain.[1/2] QueryException: SELECT c FROM Sdz\ReportBundle\Entity\Client c WHERE c.id = :idClient ORDER BY c.interventions ASC
Pouvez-vous m'indiquer comment cela peut être fait ?
Merci beaucoup.
A+
Partager