Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour les Z-f,
J'essaie de restituer mes objets de la base de données mais malheureusement je n'obtiens pas résultat exacte.
Ce que je veux le nom de la ligue géré par une personne x .
donc dans le model_ligueTable j'ai mis cela :
public function getMbrFirstLigue($Id) { $qb = new Doctrine_Query(); $qb->select('l.*'); $qb->from('Model_Ligue l'); $qb->leftJoin('Model_BurLigue bl'); $qb->where('bl.id_pers = ? ', $Id); $qb->andWhere('bl.admin = ? ', 1); $a=$qb->execute(); return $a[0]; }
Dans le model_Ligue
public function getMbrFirstLigue($Id) { $RecLig = model_LigueTable:: getInstance()->getMbrFirstLigue($Id); if ($RecLig) return $RecLig; else return FALSE; }
Controlleur
$Objlig = new Model_Ligue(); $ligue = $Objlig->getMbrFirstLigue($IdMbr); echo 'nom_ligue : '.$ligue->nom_ligue; // malheureusement il ne retourne pas la ligue qui correspond à la personne
Je ne comprends pas la requete quand je l'ai sur SQL fonctionne très bien.
Cela commence à me faire peur sur l'efficacité de Doctrine.
Merci de m'expliquer pourquoi ou bien ou se trouve mon erreur.
Dernière modification par Bouchra (03-05-2012 16:24:09)
Hors ligne
Salut, as tu bien pris le temps de lire la documentation officielle ? Il y a plusieurs exemples qui ressemblent à ton problème.
http://readthedocs.org/docs/doctrine/en … index.html
Hors ligne
Y' a pas une version francaise.
Hors ligne
C'est bon j'ai trouvé la solution. Normalement je dois ajouter la jointure entre les 2 tables.
public function getMbrFirstLigue($Id) { $qb = new Doctrine_Query(); $qb->select('l.*'); $qb->from('Model_Ligue l'); $qb->leftJoin('l.Model_BurLigue bl'); $qb->where('bl.id_pers = ? ', $Id); $qb->andWhere('bl.admin = ? ', 1); $a=$qb->execute(); return $a[0]; }
Hors ligne
Bouchra a écrit:
Y' a pas une version francaise.
Non malheureusement. C'est pas facile quand on parle mal anglais au début et puis on s'y fait.
Bouchra a écrit:
C'est bon j'ai trouvé la solution. Normalement je dois ajouter la jointure entre les 2 tables.
Hors ligne