Bonjour à tous !

Je fait appel à vos services car je rencontre un problème que j'arrive pas a résoudre. Ça se passe au niveau de la création de la requête. J'explique ce que je veux faire.

J'ai une méthode rechercherClientParDepartement($tabDept) qui recherche les clients qui sont associés à un des département contenu dans le tableau de département $tabDept. Cependant mes clients n'ont pas de champ département, mais code postal. Je pensais donc récupérer ces codes postaux pour en récupérer seulement les deux premiers caractères, et ainsi pourvoir faire ma recherche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
$andExpr = $qb->expr()->andX();
 
$qb ->select('c')
            ->from('blabla:Client', 'c')
            ->addOrderBy('c.nom', 'ASC');
 
// autres critères de recherche
 
//critère sur le CP
$andExpr->add($qb->expr()->in('substring(c.codePostal, 1, 2)', ":dpt"));
$qb->setParameter('dpt', $tabDept);
J'ai testé et quel que je soit la méthode (ou en passant par une requête DQL), j'ai une erreur qui ressort (problème de parenthèse). Impossible de faire le in() et le substring() en même temps.

Du coup j'ai essayé de passer par un alias ($qb ->select('c, substring(c.codePostal, 1, 2) as dpt ') mais idem, une erreur apparaît
"Error: 'dpt' does not point to a Class."
J'espère avoir été assez clair !

Merci pour votre aide