2016-04-25 40 views
1

大家好,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() 

我在這裏展示與選擇的列表框,如 「GI」 或 「FI」。 根據選擇,顯示另一個箱子列表。一箱公司名單。 但總是取決於選擇,要過濾的公司名單。 我希望看到一家公司的查詢字段根據billManagement,「FI」或「GI」的選擇而變化。

我試過了,但它並沒有提前上班

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

謝謝

朱利安

PS:對不起,我的英語!

回答

1

我已經達到了我想要做的。 我只是添加兩個未映射的字段

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

您能顯示'$ companyFinance'的定義嗎? –

相關問題