casella a discesa dipendente con Yii

Ho un paese, stati, tabelle di città e ho bisogno di 3 menu a discesa in cui, se seleziono un paese come ad esempio Stati Uniti, il menu a discesa degli stati mostrerà automaticamente solo gli stati che sono sotto gli Stati Uniti, e successivamente, se seleziono uno stato come ad esempio la California, il menu a discesa Città mostrerà solo le città sotto California

sto avendo problemi ad implementare questo in yii. Ho questo file _form where dovrebbero essere inclusi questi 3 menu a discesa. Ho un codice parziale, ma non riesco a capire come farlo funzionare

questo è dal controller

public function actionDynamicstates() { $sql = "SELECT StateName FROM gg_t_worldareasstates ". "WHERE CountryID = :countryid"; $command = Yii::app()->createCommand($sql); $command->bindValue(':countryid', $_POST['CountryID'], PDO::PARAM_INT); $data = $command->execute(); $data = CHtml::listData($data,'StateID','StateName'); foreach($data as $value=>$name) { echo CHtml::tag('option', arrays('value'=>$value),CHtml::encode($name),true); } } 

questo è dal file di visualizzazione _form

 <div class="row"> <?php $country = new CDbCriteria; $country->order = 'CountryName ASC'; echo $form->dropDownList($model, 'CountryID', CHtml::listData ( Worldareascountries::model()->findAll($country), 'CountryID', arrays ( 'ajax' => arrays ( 'type' => 'POST', 'url' => CController::createUrl('wsmembersdetails/dynamicstates'), 'update' => '#StateID', ) ) ) ); echo $form->dropDownList('StateID','', arrays()); ?> </div> 

Ho cambiato quei codici sopra in questo

  <div class="row"> <?php echo $form->labelEx($model,'Country'); ?> <?php $country = new CDbCriteria; $country->order = 'CountryName ASC'; ?> <?php echo $form->dropDownList($model,'CountryID',CHtml::listData(Worldareascountries::model()->findAll($country),'CountryID','CountryName'), arrays( 'ajax' => arrays( 'type' => 'POST', 'url' => CController::createUrl('wsmembersdetails/dynamicstates'), 'update' => "#StateID" ) ) ); ?> <?php echo $form->error($model,'CountryID'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'State'); ?> <?php $state = new CDbCriteria; $state->order = 'StateName ASC'; ?> <?php echo $form->dropDownList($model,'StateID',CHtml::listData(Worldareasstates::model()->findAll($state),'StateID','StateName'), arrays( 'ajax' => arrays( 'type' => 'POST', 'url' => CController::createUrl('wsmembersdetails/dynamiccities'), 'update' => '#CityID' ) ) ); ?> <?php echo $form->error($model,'StateID'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'CityID'); ?> <?php echo $form->dropDownList($model,'CityID','',arrays());?> <?php echo $form->error($model,'CityID'); ?> 

cambia questa linea
$ data = $ command-> execute ();
a
$ data = $ command-> query ();

questo problema è stato risolto, è sui documenti wiki di yii