voy a probar eso muchas gracias y te hago otra consulta, porque estuve probando almacenar para cada cliente 3 números telefónicos pero dos de los 3 campos me guarda vacios sin ningun valor, te paso mi controller y mi vista a ver si me podes decir cual seria mi error,
public function actionCreateAlta() {
$model=new Entidad;
$data=new Cliente;
$a=new Telefono;
$data->estado_id=4; //asigna al cliente con estado pendiente if(isset($_POST['Entidad'],$_POST['Cliente'],$_POST['Telefono'])) { $model->attributes=$_POST['Entidad'];
$data->attributes=$_POST['Cliente'];
$a->attributes=$_POST['Telefono']; if($model->save()){
$data->entidad_id=$model->id;
$a->entidad_id=$model->id;
if($data->save()){
if($a->save()){ $this->redirect(array('view','id'=>$model->id)); } } } }
$this->render('createAlta',array(
'model'=>$model,
'data'=>$data,
'a'=>$a,
)); }
y la vista seria algo asi
[html]<?php /* @var $this EntidadController / / @var $model Entidad / / @var $form CActiveForm */ ?> <div class=“form”> <?php $form=$this->beginWidget(‘CActiveForm’, array( ‘id’=>‘entidad-form’, ‘enableAjaxValidation’=>false, )); ?> <?php echo $form->errorSummary(array($model,$data,$a)); ?> <div class=“row”> <?php echo $form->labelEx($model,‘apellido’); ?> <?php echo $form->textField($model,‘apellido’,array(‘size’=>20,‘maxlength’=>20)); ?> <?php echo $form->error($model,‘apellido’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘nombre’); ?> <?php echo $form->textField($model,‘nombre’,array(‘size’=>20,‘maxlength’=>20)); ?> <?php echo $form->error($model,‘nombre’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘localidad_id’); ?> <?php echo $form->dropDownList($model,‘localidad_id’,CHtml::listData(entidad::model()->findAll(), ‘localidad_id’, ‘localidad.nombre’)); ?> <?php echo $form->error($model,‘localidad_id’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘domicilio’); ?> <?php echo $form->textArea($model,‘domicilio’,array(‘size’=>100,‘maxlength’=>100)); ?> <?php echo $form->error($model,‘domicilio’); ?> </div> <div class=“row”> <?php echo $form->labelEx($data,'Fecha Alta '); ?> <?php echo $form->textField($data,‘fecha_alta’, array(‘value’=>date(‘Y-m-d’))); ?> <?php echo $form->error($data,‘fecha_alta’); ?> </div> <div class=“row”> <?php echo $form->labelEx($data,‘envia_cupon’); ?> <?php echo $form->dropDownList($data,‘envia_cupon’,array(‘1’=>‘Si’,‘2’=>‘No’,));; ?> <?php echo $form->error($data,‘envia_cupon’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘tipo_documento’); ?> <?php echo $form->dropDownList($model,‘tipo_documento’,array(‘1’=>‘DNI’,‘2’=>‘LE’,‘3’=>‘LC’,‘4’=>‘Pasaporte’ ));; ?> <?php echo $form->error($model,‘tipo_documento’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘nro_documento’); ?> <?php echo $form->textField($model,‘nro_documento’); ?> <?php echo $form->error($model,‘nro_documento’); ?> </div> <div class=“row”> <?php echo $form->labelEx($data,‘tipofactura’); ?> <?php echo $form->dropDownList($data,‘tipofactura’,array(‘1’=>‘X’,‘2’=>‘A’,‘3’=>‘B’,‘4’=>‘C’,‘5’=>‘E’ ));; ?> <?php echo $form->error($data,‘tipofactura’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘mail’); ?> <?php echo $form->textField($model,‘mail’,array(‘size’=>20,‘maxlength’=>20)); ?> <?php echo $form->error($model,‘mail’); ?> </div> <div class=“row”> <?php echo $form->labelEx($model,‘observacion’); ?> <?php echo $form->textArea($model,‘observacion’,array(‘size’=>60,‘maxlength’=>250)); ?> <?php echo $form->error($model,‘observacion’); ?> </div> <div class=“view” border=“20”> <table border=“60”><h1>Telefonos</h1> <tr> <td><div class=“row”> <?php echo $form->labelEx($a,‘tipo’); ?> <?php echo $form->dropDownList($a,‘tipo’,array(‘1’=>‘Particular’,‘2’=>‘Celular’,‘3’=>‘Trabajo’,‘4’=>‘Otro’));; ?> <?php echo $form->error($a,‘tipo’); ?> </div></td> <td><div class=“row”> <?php echo $form->labelEx($a,‘cod_area’); ?> <?php echo $form->textField($a,‘cod_area’); ?> <?php echo $form->error($a,‘cod_area’); ?> </div></td> <td><div class=“row”> <?php echo $form->labelEx($a,‘numero’); ?> <?php echo $form->textField($a,‘numero’); ?> <?php echo $form->error($a,‘numero’); ?> </div></td> </tr> <tr> <td><div class=“row”> <?php echo $form->labelEx($a,‘tipo’); ?> <?php echo $form->dropDownList($a,‘tipo’,array(‘1’=>‘Particular’,‘2’=>‘Celular’,‘3’=>‘Trabajo’,‘4’=>‘Otro’));; ?> <?php echo $form->error($a,‘tipo’); ?> </div></td> <td><div class=“row”> <?php echo $form->labelEx($a,‘cod_area’); ?> <?php echo $form->textField($a,‘cod_area’); ?> <?php echo $form->error($a,‘cod_area’); ?> </div></td> <td><div class=“row”> <?php echo $form->labelEx($a,‘numero’); ?> <?php echo $form->textField($a,‘numero’); ?> <?php echo $form->error($a,‘numero’); ?> </div></td> </tr> <tr> <td><div class=“row”> <?php echo $form->labelEx($a,‘tipo’); ?> <?php echo $form->dropDownList($a,‘tipo’,array(‘1’=>‘Particular’,‘2’=>‘Celular’,‘3’=>‘Trabajo’,‘4’=>‘Otro’));; ?> <?php echo $form->error($a,‘tipo’); ?> </div></td> <td><div class=“row”> <?php echo $form->labelEx($a,‘cod_area’); ?> <?php echo $form->textField($a,‘cod_area’); ?> <?php echo $form->error($a,‘cod_area’); ?> </div></td> <td><div class=“row”> <?php echo $form->labelEx($a,‘numero’); ?> <?php echo $form->textField($a,‘numero’); ?> <?php echo $form->error($a,‘numero’); ?> </div></td> </tr> </table> </div> <br> <div class=“row buttons”> <?php echo CHtml::submitButton($model->isNewRecord? ‘Crear’ : ‘Guardar’); ?> </div> <?php $this->endWidget(); ?> </div><!-- form -->[/html]