【发布时间】:2017-05-26 00:36:56
【问题描述】:
我使用 Symfony 表单来过滤一组数据。比如说,有一个“用户”下拉列表过滤日志记录表(每条记录可以与一个用户链接,但不能链接)。
换句话说,LogRecord <- many-to-one nullable -> User
问题是我希望它支持下拉列表中的 2 个选项:所有用户(禁用按此字段过滤)和“无用户”,它应该过滤字段 = NULL 的记录。但我不知道如何学习表单来区分这些情况,而不是破坏表单验证过程。有什么想法吗?
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->setMethod('GET');
$builder
->add('user', EntityType::class, array(
'class' => 'AppBundle:User',
'choice_label' => 'name',
'placeholder' => 'All',
'query_builder' => function (UserRepository $repo) {
return $repo->findForOptionsQueryBuilder();
},
'label' => 'User',
'required' => false,
));
}
当前下拉列表:
- 全部
- 用户 1
- 用户 2
所需的下拉菜单:
- 全部
- 无(空)
- 用户 1
- 用户 2
【问题讨论】:
-
不知道有没有用,试试allow_extrafields
标签: php symfony doctrine-orm symfony-forms