Nomi Al Posto Degli Id? (No Database)

Un saluto a tutti,

ho creato correttamente un menu a tendina seguendo il codice di esempio esposto in questo commento

Dal form si può selezionare tramite menu il proprio sesso, e nel database viene salvato solamente 0,1 o 2.

Questo è il codice del Model:


      const MALE = 0;

    const FEMALE = 1;

    const AZIENDA = 2;   

    

 

    public static $genderOptions = array(

        self::MALE => 'Uomo',

        self::FEMALE => 'Donna',

        self::AZIENDA => 'Azienda',

    );

e questo del controller:


<?php  echo $form->dropDownList($model, 'gender', Model::$genderLabel); ?>

Testato e funzionante.

Problema: come faccio a mostrare "Uomo" o "Donna" nel view partendo dai dati estratti dal database che sono: 0,1 o 2?

ho provato con:


 echo CHtml::listData( Client::$genderOption,'gender', $model->gender);  

ma restituisce il seguente errore:


 Fatal error: Access to undeclared static property: Client::$genderOption 

Grazie in anticipo

fai una cosa di questo tipo, il codice non l’ho testato… credo che dovrebbe andare ;)




 echo $form->dropDownList($model, 'gender', Model::genderOptions);

 echo Model::genderOptions($model->gender);






public static function genderOptions($code=NULL) {

                $_items = array(

        self::MALE => 'Uomo',

        self::FEMALE => 'Donna',

        self::AZIENDA => 'Azienda',

    );

                if (isset($code))

                        return $_items[$code];

                else

                        return $_items;

}



Funziona!!Grazie!!