Bonjour, je souhaiterais ne mettre qu'un seul champ dans le select avec Doctrine mais ça ne fonctionne pas...

Voici mon code php pourtant si clair :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$rq = Doctrine_Query::create()
            ->select('COUNT('.$ChampCount.') AS nb, '.$ChampStats)
            ->from($TableStats)
            ->groupBy($ChampStats);
 
    $Statistiques = $rq->fetchArray();
Quand j'affiche la requête DQL, tout va encore très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
SELECT COUNT(individu_id) AS nb, connaissance_id
FROM maitrise_connaissances
GROUP BY connaissance_id
Seulement au moment de générer le SQL il fait n'importe quoi et me met le message d'erreur suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SQLSTATE[42803]: Grouping error: 7 ERREUR: la colonne « m.individu_id » doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'agrégat
LINE 1: SELECT m.individu_id AS m__individu_id, m.connaissance_id AS...
^. Failing Query: "SELECT m.individu_id AS m__individu_id, m.connaissance_id AS m__connaissance_id, COUNT(m.individu_id) AS m__0 FROM maitrise_connaissances m GROUP BY m.connaissance_id"
Il ne me mets pas qu'un seul champ... J'ai essayé de mettre un alias à la table et mettre clairement alis.nomchamp mais rien à faire il me fait la même chose... J'avais rencontré ce bug depuis un moment mais je m'étais dit tant pis. Mais cette fois ma requête est impossible sans ça...

Je l'utilise avec postgresql mais je doute que le problème vienne de la.

Quelqu'un aurait une idée ?

Merci d'avance.
Cordialement.