我有一个实体用于有许多不同领域的出版物作为书签,会议等。我想建立一个搜索表单,其中一个功能请求是在一个选择字段中组合两个搜索参数。到目前为止,我在表单构建器中有类似的东西:
$builder->add('booktitle', 'entity', array(
'required' => false,
'label' => 'Conference/Booktitle',
'property' => 'booktitle',
'class' => 'indPubBundle:Publication',
'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('p')
->groupBy('p.booktitle')
->orderBy('p.booktitle', 'ASC');
}
));
基本上我将所有的书签都显示为选择字段。我现在想要的是在同一个选项字段中同时举行会议。有没有办法实现这个目标?
答案 0 :(得分:0)
“实体”字段类型是“选择”字段类型的子类型。因此,您可以通过“choices”参数提供数据。将它与一个(例如存储库)方法结合起来,该方法返回一个包含所需数据的数组,这可能是一个适合您的解决方案。
$builder->add('booktitle', 'entity', array(
'required' => false,
'label' => 'Conference/Booktitle',
'class' => 'indPubBundle:Publication',
'choices' => $this->getDoctrine()->getRepository('indPubBundle:Publication')->getData(),
));