2017-09-07 27 views
0

我与呈递的EntityType领域的形式,就像这样:Symfony EntityType - 如何隐藏值?

 $builder 
     ->add('categoryId',EntityType::class,array('class' => 'TestBundle:BudgetCategory','choice_label'=>'description')) 
     //etc... 

而现在它会显示所有可能的选择。

但我的BudgetCategory实体也包含“隐藏”字段,我宁愿不显示隐藏值设置为true的选项。

我该怎么做?

回答

2

EntityType有选择query_builder它可以让你customize which entities are fetched

这将是这样的:

->add('categoryId',EntityType::class,array(
    'class' => 'TestBundle:BudgetCategory', 
    'choice_label'=>'description', 
    'query_builder' => function (EntityRepository $er) { 
     return $er->createQueryBuilder('b') 
        ->where('b.hidden = 1'); 
    }, 
))