Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je souhaite récuperer dans ma table seulement 1 colonne. Comment puis-je faire ?
class Db_Table_EquipmentBrand extends Zend_Db_Table_Abstract {
...
public function select() {
// COMMENT FAIRE POUR DIRE AU FRAMEWORK QUE JE NE VEUX RECUPERER QU'UNE COLONNE ????
// Call fetch function of Zend framework.
$row = parent::fetchAll();
...
}
Merci bcp pour votre aide !
Antho
Hors ligne
La doc est élitiste mais c'est indiqué, ca se passe dans la méthode from, faut envoyer un tableau des colonnes qu'on veut:
->from( $this->_name, array('id', 'nom_de_colonne1', 'nom_de_colonne2') )
Comme c'est souvent utilisé dans des élements de formulaire Select, on peut ajouter une méthode getOptions dans son modèle :
/** * getOptions * renvoie un tableau associatif ('id'=>'champ', ....) * * @return array */ public function getOptions( $nom= null ) { $select = $this->select() ->from( $this->_name, array('id', $nom ) ) ->order('id ASC'); $options = $this->getAdapter()->fetchPairs( $select ); return $options; }
Hors ligne
tu peux aussi faire un $this->select()->from($this, array('col1', 'col2'));
Il est possible de passer un objet en tant que nom de la table ($this ici), l'objet select va le comprendre automatiquement ( pratique car récupérer le nom de la table n'est possible que dans la classe ).
Hors ligne