Symfony EntityType - 如何隐藏值?

时间:2017-09-07 11:51:00

标签: symfony doctrine entity

我正在使用EntityType字段呈现一个表单,如下所示:

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

现在它显示了所有可能的选项。

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

我该怎么做?

1 个答案:

答案 0 :(得分:2)

EntityTypequery_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');
     },
))