Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/03/2013, 13:21
juank92
 
Fecha de Ingreso: agosto-2011
Ubicación: Caracas
Mensajes: 24
Antigüedad: 12 años, 7 meses
Puntos: 0
Entity Field Type para crear combo box con datos extraidos de la BD Symfony2

Saludos para todos los miembros de forosdelweb!. Tengo una duda en cuanto al entity Field Type de Symfony 2 y espero que alguien me pueda ayudar.

Necesito crear un combo box cuyos datos sean extraídos de la BD. En mi aplicación yo tengo una Entity Objeto y una clase ObjetoType que contiene lo siguiente:

public function buildForm(FormBuilderInterface $builder, array $options){

$opciones = array(
'class'=>'ROA\ROABundle\Entity\Vocablo',
'property'=>'descripcion',
'query_builder' => function (\Doctrine\ORM\EntityRepository $repository){
return $repository->createQueryBuilder('v')->where('v.vocabulario=1');
},
);

$builder->add('estructura','text', $opciones);
}
}

Luego en una vista yo muestro el formulario de Objeto, y el codigo html generado contiene algo como el siguiente:

<select>
<option value="">Seleccione una opción</option>
<option value="2">Mixta</option>
<option value="3">Linear</option>
<option value="4">Jerárquica</option>
<option value="5">En Red</option>
<option value="6">Ramificada</option>
<option value="7">Compartimentada</option>
<option value="8">Atomica</option>
<option value="1">Colección</option>
</select>

Y en definitiva mi pregunta es, cómo hago para cambiar el value de cada uno de los option? necesito que los value no contengan los id de los objetos seleccionados en la base de datos, sino mas bien algo asi:

<select>
<option value="">Seleccione una opción</option>
<option value="Mixta">Mixta</option>
<option value="Linear">Linear</option>
<option value="Jerárquica">Jerárquica</option>
<option value="En Red">En Red</option>
<option value="Ramificada">Ramificada</option>
<option value="Compartimentada">Compartimentada</option>
<option value="Atomica">Atomica</option>
<option value="Colección">Colección</option>
</select>

He estado buscando la solucion por todos lados y no consigo nada. Espero que alguien me pueda ayudar.

Muchas gracias!