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