Esta vez les traigo la siguiente cuestión, tengo como objetivo hacer un formulario con Zend_Form en el cual se cargue un elemento por cada registro de una tabla de la BD. Pero algo raro sucede, creo que es mejor verlo que contarlo:
Bueno antes de eso creo que hay que agregar algo mas, en la tabla están los siguientes registros:
y al acceder a la acción se observa lo siguiente:
Ahora el código del form:
Código PHP:
public function init()
{
/*
* Acá inicializo el entity manager para poder usar Doctrine
*/
$registry = Zend_Registry::getInstance();
$this->_em = $registry->entitymanager;
$this->setMethod('post');
/*
* Acá estoy ejecutando la consulta de la tabla que mencione
*/
$pruebas = $this->_em->getRepository("Application_Model_PruebasCarrera")->findAll();
/*
* Acá recorro el result de la consulta y por cada registro agrego un elemento al form
*/
foreach($pruebas as $prueba){
/*
* Este array tiene parametros necesarios para el elemento, no es de importancia
*/
$prueba_data = array("titulo" => $prueba->getTitulo(),
"patrocinador" => "",
"patrocinador_logo" => "",
"enunciado" => "",
"logo" => "",
"respuesta" => "");
/*
* Este elemento es personalizado creado por mi pero tampoco es importante y funciona muy bien,
* hacer de cuenta que es un zend form element :D
*/
$prueba_element = new Cweb_Form_Element_Carrera('prueba'.$prueba->getId());
$prueba_element->setAttribs($prueba_data);
$prueba_element->setValue('90');
$this->addElement($prueba_element);
}
$this->submit = new Zend_Form_Element_Submit('submit');
}