Foros del Web » Programando para Internet » PHP » Symfony »

Crear formulario para consulta de datos con campo select cargado con datos de la DB

Estas en el tema de Crear formulario para consulta de datos con campo select cargado con datos de la DB en el foro de Symfony en Foros del Web. Buenas noches. Estoy tratando de hacer un formulario para que el usuario pueda consultar datos seleccionando un valor de un select con datos de la ...
  #1 (permalink)  
Antiguo 05/08/2018, 21:30
 
Fecha de Ingreso: enero-2010
Ubicación: Colombia
Mensajes: 238
Antigüedad: 9 años, 8 meses
Puntos: 2
Crear formulario para consulta de datos con campo select cargado con datos de la DB

Buenas noches. Estoy tratando de hacer un formulario para que el usuario pueda consultar datos seleccionando un valor de un select con datos de la tabla raza. El problema es que trato de crear una formulario con el comando php app/console doctrine:generate:form PPPCanBundle:ReporteMascota y me muestra el mensaje [ReflectionException]
Class PPP\CanBundle\Entity\ReporteMascota does not exist
ya que no existe esa entidad

¿Puedo crear el formulario para reportes utilizando el formulario de la otra entidad o de que forma lo puedo hacer? estoy confundido ya que no podria crear otro formulario llamado ReporteMascota(para consultar datos) ya que esa entidad no existe. Agradezco su colaboracion
  #2 (permalink)  
Antiguo 06/08/2018, 21:47
 
Fecha de Ingreso: octubre-2007
Mensajes: 272
Antigüedad: 12 años
Puntos: 5
Respuesta: Crear formulario para consulta de datos con campo select cargado con datos

Pues nada, create una nueva clase de formulario y agregale un campo de tipo EntityType y cuya clase sea la entidad Raza; por ejemplo:

Código PHP:
namespace AppBundleForm;

use 
SymfonyComponentFormAbstractType;
use 
SymfonyComponentFormFormBuilderInterface;


class 
ReporteMascotaType extends AbstractType
{

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

        
$builder->add('raza_select'SymfonyBridgeDoctrineFormTypeEntityType::class, array(
            
'label' => 'Razas',
            
'class' => 'AppBundle:Raza',
            
'choice_label' => 'nombre'// es el nombre del campo en esa entidad que deseas salga reflejado en el select, el valor que se enviara sera el id de esa entidad
            
'empty_data' => null,
            
'placeholder' => 'Sin definir',
        ));
    }


de esta manera puedes incluir todos los campos de formulario que desees.

simplemente en el controlador para obtener la raza seleccionada, deberas hacer:

Código PHP:
$data $form->getData();
$raza=$data["raza_select"]; 
Si te das cuenta, el formulario no representa una entidad en específico del dominio de tu aplicación, pero sí incluye un campo "mapeado" contra una de tus entidades.

Última edición por X_fran; 06/08/2018 a las 21:59

Etiquetas: campo, cargado, formulario, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:51.