hola q tal foro… tenuna pregunta… el siguiente codigo pertenece a un dropdownlist q hice q funciiona perfectamente al momento de crear: en controlador
public function actionCreate()
{
$model=new Minuta;
$b=new Documento;
$a= new Acuerdos;
$contador=new MinutaAsis;
if(isset($_POST['Minuta'],$_POST['Documento'],$_POST['Acuerdos'],$_POST['MinutaAsis']))
{
$model->attributes=$_POST['Minuta'];
$b->attributes=$_POST['Documento'];
$a->attributes=$_POST['Acuerdos'];
$contador->attributes=$_POST['MinutaAsis'];
$contador['total']=$_POST['MinutaAsis']['total'];
echo hola;
print_r($_POST['MinutaAsis']['total']); break;
$sql='select max(id_minuta) from minuta;';
$connection=Yii::app()->db;
$command=$connection->createCommand($sql);
$row=$command->queryRow();
$row["max"]++;
$a->id_minuta=$row["max"];
$model->id_minuta=$row["max"];
$b->id_minuta=$row["max"];
$contador->id_minuta=$row["max"];
if($model->save() && $b->save() && $a->save() && $contador->save())
$this->redirect(array('view','id'=>$model->id_minuta));
}
$this->render('create',array('model'=>$model,'b'=>$b,'a'=>$a,'contador'=>$contador));
}
public function actionUpdate($id)
{
$model=new Minuta;
$b=new Documento;
$a=new Acuerdos;
$contador=new MinutaAsis;
$model=$this->loadModel($id);
if(isset($_POST['Minuta'],$_POST['Documento'], $_POST['Acuerdos'],$_POST['MinutaAsis']))
{
$model->attributes=$_POST['Minuta'];
$b->attributes=$_POST['Documento'];
$a->attributes=$_POST['Acuerdos'];
$contador->attributes=$_POST['MinutaAsis']['total'];
$b->id_minuta=$model->id_minuta;
$b->setIsNewRecord(false);
$a->id_minuta=$model->id_minuta;
$a->setIsNewRecord(false);
$contador->id_minuta=$model->id_minuta;
$contador->setIsNewRecord(false);
if($model->save() && $b->update() && $a->update() && $contador->update())
$this->redirect(array('view','id'=>$model->id_minuta));
}
$this->render('update',array('model'=>$model,'b'=>$b,'a'=>$a, 'contador'=>$contador));
}
public function actionDynamicMcpio()
{ $valor= $_POST['Minuta']['iestado'];
//echo $valor;
$data = Municipio::model()->findAll('id_estado=:parent_id',array(':parent_id'=>$valor));
$data = CHtml::listData($data,'id_municipio','nombre');
// echo CHtml::openTag('select');
echo CHtml::tag('option',array('value' => ''),'Seleccione...',true);
foreach($data as $id => $value)
{
echo CHtml::tag('option',array('value' => $id),CHtml::encode($value),true);
}
// echo CHtml::closeTag('select');
}
<div class="row">
<?php echo $form->labelEx($model,'Estado'); ?>
<?php $Qmodels = Estado::model()->findAll(array('select'=>'nombre,id_estado'));
?>
<?php $data = array()?>
<?php foreach ($Qmodels as $Qmodel)
//$data[ substr($Qmodel->cod_sec,0,3)] = $Qmodel->sector;
$data[$Qmodel->id_estado] = $Qmodel->nombre; ?>
<?php echo $form->dropDownList($model,'iestado',$data, array('empty'=>'Seleccione...','ajax' => array(
'type' => 'POST',
'url' => CController::createUrl('minuta/dynamicMcpio'),
'update' => '#Minuta_id_municipio'
),
)
); ?>
<?php echo $form->error($model,'iestado'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'Municipio'); ?>
<?php echo $form->dropDownList($model,'id_municipio',array('Seleccione...'));?>
<?php echo $form->error($model,'id_municipio'); ?>
</div>
a lo q seleccionas un estado, el te lista automáticamente los municipios q pertenecen a el…
a lo q intento actualizar me trae la informacion de todos los demas modelos asociados a mi tabla padre, con una consulta como la siguiente
$a=Acuerdos::model()->find('id_minuta=:id_minuta',
array(':id_minuta'=>$model->id_minuta,));
el problema es q eso no funciona para traer ese dropdownlist, entonces hice una consulta con el criteria asi
$criterios = new CDbCriteria ();
$criterios->condition = 'id_municipio = :id_estado' ;
$criterios->params = array (':id_estado' => $id);
$es= Municipio::model()->find($criterios);
a ese codigo le decalre el objeto y reder etc… pero no me trae nada, si alguien sabe como ayudarme por favor.