mostrar datos de una tabla en un dropDownList

Hola,

Tengo dos tablas con la siguiente estructura:

Empleado con los siguientes campos:

Identificacion

Nombre

Telefono

Cargo

Control ANS con los siguientes campos:

OC

Identificacion

Tipo

Fecha_Creacion

Fecha_Inicial

Fecha_Solucion

Asignar

Estado

Lo que yo quiero hacer es que en un dropDownList me muestre los campos 'nombre’de la tabla empleado en el campo asignar de la tabla Control Ans

He usado este codigo en el model:

public function getAsignar()

{


		$connection = Yii::app()->db;


		$command= "SELECT nombre FROM empleado";


		$dataReader=$connection->createCommand($command)->query();


		$rows=$dataReader->readAll();


			


		return $rows;


}

public function getAsignarText()

{


		$options=$this->Asignar;


		return isset($options [$this->Asignar])?   $options[$this->Asignar]:"unknow({$this->Asignar})";


} 

Y este Codigo en el views/ControlANS/_form:

<div class="row">

	&lt;?php echo &#036;form-&gt;labelEx(&#036;model,'Asignar'); ?&gt;


	&lt;?php  echo &#036;form-&gt;dropDownList(&#036;model,'Asignar',&#036;model-&gt;getAsignar());


	//echo &#036;form-&gt;;dropDownList(&#036;model,'Nombre',CHtml::listData(Empleado::model()-&gt;findAll(),'Nombre'),array ('prompt'=&gt;;'Seleccione...'));


	?&gt;


	&lt;?php echo &#036;form-&gt;error(&#036;model,'Asignar'); ?&gt;


&lt;/div&gt;

Tal cual esta el codigo el me muestra el campo nombre el un dropDownList en el campo asignar de esta forma:

0

empleado1

1

empleado2 y asi…

Lo que no logro hacer es que me guarde los datos que estan en el campo nombre en la tabla empleado en la tabla Asignar.

Ademas quiero que me muestre en el dropDownList asi:

empleado1

empleado2 si los numeros.

Gracias…

Estare atenta :)

Creo que no es necesario tanto código

puedes probar algo así?





<div class="row">

<?php echo $form->labelEx($model,'Asignar'); ?>

<?php echo $form->dropDownList($model,'Asignar',CHtml::listData(Empleado::model()->findAll(), 'Identificacion', 'Nombre'),array ('prompt'=>;'Seleccione...'));?>

<?php echo $form->error($model,'Asignar'); ?>

</div>



Hola Horacio,

Gracias por tu ayuda, de esa forma funciona, pero no agrega a la base de datos el nombre del empleado sino el campo de la identificacion, hay alguna forma de que se agrege el nombre y no la identificacion que es el primer campo de la tabla.

Estare atenta a respuestas :)

cambias Identificacion x Nombre




<div class="row">

<?php echo $form->labelEx($model,'Asignar'); ?>

<?php echo $form->dropDownList($model,'Asignar',CHtml::listData(Empleado::model()->findAll(), 'Nombre', 'Nombre'),array ('prompt'=>;'Seleccione...'));?>

<?php echo $form->error($model,'Asignar'); ?>

</div>



Mil gracias por tu ayuda…

Funciona perfectamente :)