J'ai une table formation ayant deux (2) enregistrements. Je voudrais obtenir le dernier diplome obtenu par chaque membre. Cependant , lorsque j'execute ma requete, elle me renvoie deux fois le même enregistrement.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
public function formationCvthque(){
 
          $r = $this->createQuery('m')->
          SELECT ('Max(f.niveau) AS nv , f.diplome AS diplome')->
          leftJoin('m.Formation f')->
          WHERE ('m.typemembre =1')->
          groupBy ('f.fkmembre');
          return $r->execute();
     }
dans mon template

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<ul>
        <?php foreach ($derniereFormation as $fv) :?>
          <li>
              <?php  echo $fv->diplome;?>
                 <?php endforeach; ?>
          </li>
      </ul>
mon action

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
public function executeVoscriteres(sfWebRequest $request) {         
 
       $this->derniereFormation = Doctrine_Core::getTable('membre')->formationCvthque(); 
  }
Voici la requete sql generée dans l'onglet sql Queries de la debug bar de symfony :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT MAX(f.niveau) AS f__0, f.diplome AS f__1 FROM Membre m LEFT JOIN Formation f ON m.idcandidat = f.fkmembre WHERE (m.typemembre = 1) GROUP BY f.fkmembre
Lorsque j'execute cette requete dans phpMyAdmin par exemple , elle affiche les infos sur tous les deux enregistrements de la table.