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 :
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;
Avec cette requête j'obtiens le message d'erreur suivant :
[Semantical Error] line 0, col 81 near 'interventions': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.

500 Internal Server Error - QueryException
1 linked Exception:
  • QueryException »
... et la trace de la requête est la suivante :

[1/2] QueryException: SELECT c FROM Sdz\ReportBundle\Entity\Client c WHERE c.id = :idClient ORDER BY c.interventions ASC
Cela fait de très nombreuses heures que je cherche à faire cette requête mais en vain.

Pouvez-vous m'indiquer comment cela peut être fait ?

Merci beaucoup.

A+