Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour
Je désire renommer les colonnes du tableau que retourne le select de la fonction ci dessous. J'ai 2 jointures sur une même table , il y'a donc une confusion lors de la récupération des résultats . Comment faire ?
public static function findAmi($id) { $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select = $db->select() ->from(array('A' => 'ami'),array('M.id','M.description','M.nomp' ,'M.prenomn','M.id_contenu','N.id','N.description','N.nomp' ,'N.prenomn','N.id_contenu',)) ->distinct() ->joinLeft(array('M' => 'membres'),'A.id_membre1 = M.id',array()) ->joinLeft(array('N' => 'membres'),'A.id_membre2 = N.id',array()) ->where('N.id = ? or M.id = ?', $id) ->where('A.etat=?',1) ->order(array('M.nomp DESC', 'N.nom DESC')); $stmt = $db->query($select); return $row = $stmt->fetchAll(); }
Hors ligne
Salut,
Si je comprends bien tu récupères deux fois le même champ et tu voudrais pouvoir faire la distinction entre les deux.
Dans ce cas il vaut mieux faire la modification directement dans la requête :
public static function findAmi($id) { $db = Zend_Db_Table_Abstract::getDefaultAdapter(); $select = $db->select() ->from(array('A' => 'ami'),array('M.id','M.description','M.nomp' ,'M.prenomn','M.id_contenu','N.id','N.description','N.nomp' ,'N.prenomn','N.id_contenu',)) ->distinct() ->joinLeft(array('M' => 'membres'),'A.id_membre1 = M.id',array('champ1'=>'champconfusion')) ->joinLeft(array('N' => 'membres'),'A.id_membre2 = N.id',array('champ2'=>'champconfusion')) ->where('N.id = ? or M.id = ?', $id) ->where('A.etat=?',1) ->order(array('M.nomp DESC', 'N.nom DESC')); $stmt = $db->query($select); return $row = $stmt->fetchAll(); }
la distinction se fait sur champ1 et champ2
@+
Dernière modification par _Fuse_ (27-07-2011 09:00:32)
Hors ligne
Pages: 1