Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Como hacer en un formulario de una entidad exista un combobox o una lista pero que esa lista sea sacada de otra tabla

25 de junio de 2015

Tengo un formulario de mi tabla Provincia el cual posee los campos:

  • idprovincia
  • idpais (es una clave externa a mi tabla Pais)
  • nombreProvincia

Y tengo otra tabla Pais con los datos:

  • idPais
  • nombrePais

Lo que quiero hacer es que en el formulario de provincia me aparezca una lista en el idpais pero que me muestre los nombres de los países mas no el id; porque el usuario no va a saber los id de provincias pero si los nombres pero cuando ya lo guarde lo guarde con el id.

Tengo esa duda có mo hacerlo. Se que se usa choice en el formulario:

->add('estado', 'choice', array('choices'=>array('1'=>'Ecuador', '2'=>'Colmbia')));

Pero cómo hago que coja todos los países con su id para mostrarlos porque se pueden agregar más países y deberían aparecer en la lista.

Gracias de antemano.


Respuestas

#1

Hola @piocarluis, no se si esto responda a tu pregunta. Lo que veo es que tienes una tabla pais, y necesitas mostrar en tu formulario la lista de los nombre de los paises y no los Id.

Lo que tendrías que hacer es usar entity en lugar de choice y le colocas en la class la entidad país y por último en property el nombre del campo que quieres que se muestre. Te dejo un ejemplo:

->add('estado', 'entity', array(
         'class' => 'AcmeMainBundle:Pais',
         'property' => 'Nombre'
     ))

Espero te sirva.

@miguelplazasr

26 junio 2015, 3:46
#2

@miguelplazasr listo muchas gracias

@piocarluis

26 junio 2015, 16:46