SonataAdmin – sonata_type_choice_field_mask

Hola a todos,

->add('billManagement', 'sonata_type_choice_field_mask', array( 'choices' => array( 'FI' => 'FI', 'GI' => 'GI' ), 'map' => array( 'FI' => array('company'), 'GI' => array('company') ), 'empty_value' => 'Mode de financement', 'required' => true )) ->add('company') ->end() 

Muestro aquí un cuadro de lista con opciones como “GI” o “FI”. Dependiendo de la elección, se muestra otra lista de cajas. Una caja de lista de empresas. Pero siempre dependiendo de la elección, la lista de compañías se filtrará. Me gustaría ver una empresa cuyo campo de consulta cambia dependiendo de la elección de billManagement, “FI” o “GI”.

Lo intenté pero no funciona

  ->add('billManagement', 'sonata_type_choice_field_mask', array( 'choices' => array( 'FI' => 'FI', 'GI' => 'GI' ), 'map' => array( 'FI' => $formMapper->add('company', 'sonata_type_model', array( 'class' => 'AppBundle\Entity\User\Company', 'query' => $companyFinance )), 'GI' => $formMapper->add('company', 'sonata_type_model', array( 'class' => 'AppBundle\Entity\User\Company', 'query' => $company )), ), 'empty_value' => 'Mode de financement', 'required' => true )) ->end() 

gracias de antemano

Julien

pd: perdón por mi inglés!

He logrado lo que quería hacer. Solo agrego dos campos no mapeados

  ->add('billManagement', 'sonata_type_choice_field_mask', array( 'choices' => array( 'FI' => 'FI', 'GI' => 'GI' ), 'map' => array( 'FI' => array('companyFinance'), 'GI' => array('company'), ), 'empty_value' => 'Mode de financement', 'required' => true )) ->add('companyFinance', 'sonata_type_model', array( 'class' => 'AppBundle\Entity\User\Company', 'query' => $companyFinance, 'mapped' => false )) ->add('company', 'sonata_type_model', array( 'class' => 'AppBundle\Entity\User\Company', 'query' => $company, 'mapped' => false ))