[Yii2] RadioList come settare l'item checked di default?

Ciao a tutti, devo usare per la prima volta un input field di tipo radioList

son riuscito a crearlo correttamente con questo codice:


<?= $form->field($model, 'type')->radioList(['Y'=>'Yes','N'=>'No'], ['itemOptions' => ['class' =>'radio-inline']]) ?>

e memorizza correttamente Y o N nel database a seconda di cosa viene checkato.

Ora il mio problema è quello di partire con un item checked di default quando inserisco un nuovo record, ma non riesco a trovare la formula giusta x farlo

Qualcuno sa come impostarlo?

Ed eventualmente come settare anche l’attributo “separator”?

Grazie in anticipo

Se usi un ActiveField il valore di default dovresti settarlo nel modello, non ne sono sicurissimo ma dovrebbero aver implementato il caricamento dei valori di default dallo schema del database, quindi se nel db, imposti il tuo campo con il valore di default che vuoi dovresti ritrovartelo al momento di inizializzare il modello.

Altrimenti potresti impostarlo durante l’init() del modello.

grazie per la risposta. In effetti leggendo qua e là avevo intuito che la strada era questa.

La mia esigenza è quello di riuscire a settarlo dinamicamente, in quanto è un form che si ripete più volte ed il parametro va impostato a seconda di quello che l’utente aveva scelto la volta prima.

Quindi dovrei capire come settare il valore di default di quel campo del model in maniera dinamica :unsure:

Genericamente basta che imposti la proprietà col valore che vuoi dopo aver creato l’istanza, es.




$model = new Model;


$model->prop = 'Y';



se passi alla vista quel modello avrai “prop” impostato a ‘Y’.