繁体   English   中英

SonataAdmin - sonata_type_choice_field_mask

[英]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()

我已经实现了我想做的事情。 我只是添加了两个未映射的字段

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM