À priori avec : public function getAbsencesMensuelles($year){ $q = Doctrine_Query::create() ->select(' at.label, sum(if(month(a.startdate)=1, 1, 0)) AS Janvier, sum(if(month(a.startdate)=2, 1, 0)) AS Fevrier, sum(if(month(a.startdate)=3, 1, 0)) AS Mars, sum(if(month(a.startdate)=4, 1, 0)) AS Avril, sum(if(month(a.startdate)=5, 1, 0)) AS Mai, sum(if(month(a.startdate)=6, 1, 0)) AS Juin, sum(if(month(a.startdate)=7, 1, 0)) AS Juillet, sum(if(month(a.startdate)=8, 1, 0)) AS Aout, sum(if(month(a.startdate)=9, 1, 0)) AS Septembre, sum(if(month(a.startdate)=10, 1, 0)) AS Octobre, sum(if(month(a.startdate)=11, 1, 0)) AS Novembre, sum(if(month(a.startdate)=12, 1, 0)) AS Decembre ') ->from('AbsenceType at, at.Absences a') ->where('a.person_id = ?', $this->getId()) ->andWhere('a.year = ?', $year) ->groupBy('at.id');
return $q->execute(array(), Doctrine_Core::HYDRATE_ARRAY); } c'est tout à fait ce que je cherche, merci beaucoup !!! Cyril FLIELLER Le 20 avril 2011 17:34, Jérémy LEHERPEUR <jer...@leherpeur.net> a écrit : > Salut, > Tu fais un hydrate_array et tu accede via les clés de tableau. > nan ? > > Le 20 avril 2011 17:32, Cyril FLIELLER <cyril.fliel...@gmail.com> a écrit > : > >> Hello, >> >> Pour un besoin particulier, j'ai effectué un pivot mysql (donc à la main >> car il n'y a pas de fonctions dédiées). À l'arrivée, je veux envoyer les >> données récoltées en Json. Seulement, je ne sais pas vraiment à quoi >> ressemble l'objet retournée par la requête. >> >> Voici la méthode : >> >> public function getAbsencesMensuelles($year){ >> $q = Doctrine_Query::create() >> ->select(' >> at.label, >> sum(if(month(a.startdate)=1, 1, 0)) AS Janvier, >> sum(if(month(a.startdate)=2, 1, 0)) AS Fevrier, >> sum(if(month(a.startdate)=3, 1, 0)) AS Mars, >> sum(if(month(a.startdate)=4, 1, 0)) AS Avril, >> sum(if(month(a.startdate)=5, 1, 0)) AS Mai, >> sum(if(month(a.startdate)=6, 1, 0)) AS Juin, >> sum(if(month(a.startdate)=7, 1, 0)) AS Juillet, >> sum(if(month(a.startdate)=8, 1, 0)) AS Aout, >> sum(if(month(a.startdate)=9, 1, 0)) AS Septembre, >> sum(if(month(a.startdate)=10, 1, 0)) AS Octobre, >> sum(if(month(a.startdate)=11, 1, 0)) AS Novembre, >> sum(if(month(a.startdate)=12, 1, 0)) AS Decembre >> ') >> ->from('AbsenceType at, at.Absences a') >> ->where('a.person_id = ?', $this->getId()) >> ->andWhere('a.year = ?', $year) >> ->groupBy('at.id'); >> >> return $q->execute(); >> } >> >> du coup, comment accéder aux attributs de l'objet nouvellement créé ? >> >> Cyril FLIELLER >> >> -- >> Vous recevez ce message, car vous êtes abonné au groupe Google >> Groupes Symfony-fr. >> Pour envoyer un message à ce groupe, adressez un e-mail à >> symfony-fr@googlegroups.com. >> Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse >> symfony-fr+unsubscr...@googlegroups.com. >> Pour plus d'options, consultez la page de ce groupe : >> http://groups.google.com/group/symfony-fr?hl=fr >> > > > > -- > Jérémy LEHERPEUR > jer...@leherpeur.net > > -- > Vous recevez ce message, car vous êtes abonné au groupe Google > Groupes Symfony-fr. > Pour envoyer un message à ce groupe, adressez un e-mail à > symfony-fr@googlegroups.com. > Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse > symfony-fr+unsubscr...@googlegroups.com. > Pour plus d'options, consultez la page de ce groupe : > http://groups.google.com/group/symfony-fr?hl=fr > -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Pour envoyer un message à ce groupe, adressez un e-mail à symfony-fr@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse symfony-fr+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr