Cargar un Combo de la Base de Datos
De CidesaWiki
Esta explicación funciona para cualquier generación de Módulos. Este código se encuentra en el módulo "biedisactmuenew" de la aplicación de bienes de Siga Software Libre.
- Se debe crear una método(función) en este caso CargarTipos en el Actions.class
public function CargarTipos() { $c = new Criteria(); $lista_tip = BndisbiePeer::doSelect($c); $tipos = array(); foreach($lista_tip as $obj_tip) { $tipos += array($obj_tip->getCoddis()." - ".$obj_tip->getDesdis() => $obj_tip->getCoddis()." - ".$obj_tip->getDesdis()); } return $tipos; }
la función cargartipos fue creada para que hiciera la consulta a la base de datos y retornada la lista de tipos.
- Se pasa a través del editSuccess.php la variable tipos del ejemplo al objeto parcial (en este caso _edit_form.php).
<?php include_partial('biedisactmuenew/edit_form', array('bndismue' => $bndismue, 'tipos' => $tipos, 'labels' => $labels)) ?>
- Se debe colocar en el _edit_form.php el siguiente codigo para mostrar el combo.
<?php echo select_tag('bndismue[tipdismue]', options_for_select($tipos,$bndismue->getTipdismue(),'include_custom=Seleccione Uno')); ?>
Este código muestra el combo con la lista de tipos (Muestra lo guardado al momento de consultar y Muestra toda la lista al momento de crear un registro nuevo). Nota: Para colocar blanco en vez de seleccione uno la opcion es 'include_blank=true'