riregi
(Riccardo Regini)
November 22, 2012, 12:33pm
1
Salve, Sono alle prima esperienza con il framwork, avrei bisogno di un aiuto
Ho appena creato un modulo mediante CRUD, ho sostituito il controllo :
echo $form->textField($model,‘idCentroCosto’);
con
$models = Centricosto::model()->findAll(array(‘order’ => ‘dsCentroCosto’));
$list = CHtml::listData($models, ‘idCentroCosto’, ‘dsCentroCosto’);
echo CHtml::dropDownList(‘idCentroCosto’, $model, $list,array(‘empty’ => ‘(Select centro costo’));
Ma quando vado a fare il submit non riesco a recuperare il valore, mi viene risposto empty oppure se un valore richesto il forms mi blocca
Grazie a tutti
emafer
(Emanuele Ferrarini)
November 22, 2012, 12:49pm
2
prova questo:
echo CHtml::dropDownList('idCentroCosto', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
riregi
(Riccardo Regini)
November 22, 2012, 1:07pm
3
Grazie,
Purtroppo il risultato non è cambiato, la cosa che mi fa strano è che il valore viene recuperato dal db, mentre il valore che vado a cambiare nella drop non viene passato dal form, devo cambiare anche il model o il control per poter gestire una dropdown ?!
questo è il codice che ho nel _form.php
<div class="row">
<?php echo $form->labelEx($model,'idCentroCosto'); ?>
<?php
$modCC = Centricosto::model()->findAll(array('order' => 'dsCentroCosto'));
$list = CHtml::listData($modCC, 'idCentroCosto', 'dsCentroCosto');
echo CHtml::dropDownList('idCentroCosto', $model->idCentroCosto, $list,array('empty' => '(Select centro costo'));
?>
<?php echo $form->error($model,'idCentroCosto'); ?>
</div>
riregi
(Riccardo Regini)
November 22, 2012, 1:42pm
4
Risolto il problema era il nome della dropdown praticamente
scrivendo cosi :
echo CHtml::dropDownList(‘Servizi[idCentroCosto] ’, $model->idCentroCosto, $list,array(‘empty’ => ‘(Select centro costo’));
viene recuperato il codice dal controller
Grazie …
st4nny
(St4nny)
November 22, 2012, 4:16pm
5
infatti dovevi usare activeDropDownList($model,‘nome_attributo’…)
riregi
(Riccardo Regini)
November 23, 2012, 6:43am
6
Scusate che differenza c’è tra l’activeDropDownList e la dropDownList ?
Grazie
st4nny
(St4nny)
November 24, 2012, 1:08am
7
activeDropDownList() : Generates a drop down list for a model attribute.
dropDownList(): Generates a drop down list.
la tua dropDownList era una select generica, non agganciata al model,
infatti lamentavi il fatto che i valori non venissero letti e salvati correttamente.
Se avessi guardato nel POST, avresti visto che il name della select non era del tipo Model[‘nomecampo’]
e se guardi come una Action legge gli attributi del model noterai un $model->attributes = $_POST[‘Model’];
infatti quando hai specificato a mano Servizi[idCentroCosto] tutto è andato liscio.