Tengo un formulario de mi tabla Provincia
el cual posee los campos:
idprovincia
idpais
(es una clave externa a mi tablaPais
)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
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
@miguelplazasr listo muchas gracias
@piocarluis