我正在使用EntityType字段呈现一个表单,如下所示:
$builder
->add('categoryId',EntityType::class,array('class' => 'TestBundle:BudgetCategory','choice_label'=>'description'))
//etc...
现在它显示了所有可能的选项。
但我的BudgetCategory实体也包含“隐藏”字段,我不想显示隐藏值设置为true的选项。
我该怎么做?
答案 0 :(得分: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');
},
))