[Risolto]Primo Valore In Chtml::listdata

Salve ragazzi ho un problema nel recuperare i valori all’interno di un CHtml::listData.

Il problema sta bel fatto che facendo cosi:


CHtml::listData(StatiOrdini::model()->findAll(), 'id_stato', 'nome_stato')

lui mi recupera lista in un ordine a caso, invece io vorrei che mi recuperasse come primo elemeto nome_stato di un determinato id, ovvero creare un ordine.

Spero di essermi spiegato bene ??? ???

fai così:




StatiOrdini::model()->findAll(array('order'=>'id ASC'))



niente solito problema anche con:




CHtml::listData(StatiOrdini::model()->findAll(array('order'=>'id_stato ASC')), 'id_stato', 'nome_stato');



Ci sono molti modi per risolvere il tuo problema. Mi pare di capire che l’ordine in evidenza sia solo uno. Si potrebbe aggiungere un campo alla tabella, e quindi un attributo al model. Chiamerei questo attributo “in_evidenza”. Facendo un ordinamento su quel campo, avrei come primo risultato l’ordine in evidenza, e gli altri di seguito.


CHtml::listData(StatiOrdini::model()->findAll(array('order'=>'in_evidenza DESC')), 'id_stato', 'nome_stato');

salve ragazzi ho risolto in questa maniera:



 return CHtml::dropDownList('Ordine', $data->idStato->nome_stato,  


                                        CHtml::listData(StatiOrdini::model()->findAll(array('order'=>'FIELD(nome_stato,:_valore)','params'=>array(':_valore'=>$data->id_stato))), 'id_stato', 'nome_stato'),


                                           array('onchange'=>''));

basta mettere il FIELD.

grazie a tutti.