viernes, 29 de julio de 2011

Yii Framework: Creacion de combo desplegable

Explico la creación de una combo desplegable para un formulario sencillo con Yii Framework.


El escenario


Necesitamos llenar un desplegable de un formuario de introducción ó actualización de datos con datos de un modelo. En este escenario consideramos que los datos del modelo a obtener son distintos del modelo para el que estamos obteniendo los datos. 
Pasos de la solución
 Ejemplo




<?php 
 $estadosArray = CHtml::listData(Estado::model()->findAll(),'id','estado');
 echo $form->DropDownList($model,'estado',$estadosArray);
?>


En el ejemplo usamos Estado::model() para acceder al modelo y llamamos a la función que obtiene los datos de la base de datos. En nuestro caso findAll(), y después hay que especificar el nombre del campo clave, y del campo del modelo que se va a mostrar en el desplegable. 

Una vez hecho esto, a la hora de construir el DropDownList, debemos especificar el modelo actual, y el campo del modelo al que se asocia el resultado de lo que haya elegido en el campo desplegable.

2 comentarios:

  1. muy bueno el ejemplo ya estoy mas claro de como trabajar en yii, gracias

    ResponderEliminar
  2. Gracias, Jesuxo. La idea es ir publicando más escenarios de uso común en este blog.

    Si tienes cualquier sugerencia, no dudes en hacemelo saber.

    Un saludo.

    ResponderEliminar