|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre régulier
![]() Inscription : juin 2008 Messages : 214 ![]() |
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 :
Code :
Code :
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. |
||||||
|
|
00
|
|
|
#2 | ||||
|
Membre éclairé
![]() Jérémy Étudiant Inscription : octobre 2009 Messages : 236 ![]() |
Personnellement ont m'as toujours dit que un count se fait sur '*'
Code :
Code :
|
||||
|
|
01
|
|
|
#3 |
|
Membre régulier
![]() Inscription : juin 2008 Messages : 214 ![]() |
Un count peut se faire sur n'importe quel champ. C'est surtout utile de spécifier le champ quand tu veux faire un distinct.
Mais le problème ici ne vient pas de là. Il vient d'un problème de Doctrine qui traduit mal le DQL en SQL. Merci d'avance. Cordialement. |
|
|
00
|
|
|
#4 | ||
|
Invité de passage
![]() Frederic AFPA Inscription : novembre 2008 Messages : 18 ![]() |
Salut
Code :
|
||
|
|
01
|
|
|
#5 |
|
Membre régulier
![]() Inscription : juin 2008 Messages : 214 ![]() |
Slt. Merci pour la réponse.
En revanche, ça fonctionnera pour certaines tables mais pas avec le résultat souhaité. Je veux faire le group by sur un seul champ. Merci d'avance. |
|
|
00
|
|
|
#6 | ||
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je ne suis pas certain de la pertinence de créer des requêtes génériques en Doctrine.
L'idée de l'architecture dans symfony/doctrine serait plutôt de créer les requêtes directement rattachées à l'objet du modèle concernées. Reste que je ne pense pas que le problème vienne de là. Il semblerait que doctrine, lors de la génération du sql ne travaille pas proprement et ne prenne pas en compte les champs que tu demandes, mais tous les champs de la table. Ce qui est en contradiction avec le SQL généré et que tu donnes en exemple. Diable ! Je verrais bien un problème Postrgee et non pas doctrine. Enfin, pas vraiment Postgree, mais pas vraiment doctrine non plus... Je m'explique. Essayes ta requête SQL directement dans Postrgree, quel est le résultat ? Si le message d'erreur est le même, doctrine est hors de cause (quoique). J'ai dans l'idée, non vérifiée, que ton erreur vient de l'ordre des champs dans la close SELECT. J'avais eu des problèmes similaires, il y a plusieurs années (plus d'une décennie, déjà ! Code :
Je confirme l'intérêt de faire des count sur autre chose qu'étoile, ce qui, en matière de statistique est indispensable. Quant à faire un GROUP BY sur le champ compté, cela me semble moins pertinent au niveau des résultats...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
||
|
00
|
|
|
#7 | ||||||||
|
Membre régulier
![]() Inscription : juin 2008 Messages : 214 ![]() |
Bonsoir, merci beaucoup pour votre réponse.
Je pense que le problème vient de Doctrine (mais je peux me tromper). Au lieu du fetchArray(), j'ai mis un echo getSqlQuery() et la requête générée avec le select que vous m'avez donné est le suivant : Code :
Code :
Le problème n'est pas qu'avec les requêtes comportant un group by. J'ai fait la requête la plus bête du monde suivante. Le code DQL affiché est le suivant : Code :
Code :
Merci d'avance. Cordialement. |
||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com