Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-07-2011 15:45:53

missna04
Nouveau membre
Date d'inscription: 14-03-2011
Messages: 7

renommer les colonnes d'un tableau retourner par un select

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  ?


Code:

    
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

 

#2 27-07-2011 08:57:22

_Fuse_
Membre
Lieu: Aquitaine
Date d'inscription: 10-07-2008
Messages: 92

Re: renommer les colonnes d'un tableau retourner par un select

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 :

Code:

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages