2016-04-25 5 views
1

hallo alle,SonataAdmin - sonata_type_choice_field_mask

  ->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() 

zeige ich hier ein Listenfeld mit Entscheidungen wie "GI" oder "FI". Je nach Auswahl wird eine andere Boxliste angezeigt. Eine Box Firmenliste. Aber immer abhängig von der Wahl, die Liste der Unternehmen gefiltert werden. Ich möchte eine Firma sehen, deren Abfragefeld sich je nach Wahl von billManagement, "FI" oder "GI" ändert.

habe ich versucht, das aber nicht

  ->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() 

danken Ihnen im Voraus

Julien

ps funktioniert: sorry für mein Englisch!

Antwort

1

Ich habe erreicht, was ich machen wollte. Ich füge nur zwei nicht gemappte Felder hinzu

  ->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 
     )) 
+0

Können Sie die Definition von '$ companyFinance' anzeigen? –