Symfony2的表单控件许多一对多的关系(Symfony2 form widgets for ma

2019-07-29 08:54发布

在Symfony的1有作为名为admin_double_list表单控件。 它生成一个名为无关联和相关的两个选择字段。 它也产生按钮从一个列表中添加项目到另一个。

有没有简单的方法在Symfony2中做到这一点? 或者一些其它的用户友好的方式编辑许多一对多的关系?

在文档只有四个小工具,许多一对多的关系,他们都不是当有编辑的关系准备巨量很不错。

Answer 1:

您可以轻松地管理与许多一对多的关系, 实体表单字段 。 例如,如果User与一个多一对多的关系Group ,你可以简单地添加到建设者:

$builder->add('groups', 'entity', array(
    'multiple' => true,   // Multiple selection allowed
    'expanded' => true,   // Render as checkboxes
    'property' => 'name', // Assuming that the entity has a "name" property
    'class'    => 'Acme\HelloBundle\Entity\Group',
);

这将产生对于相关实体标记(检查),同时无关联不是一个复选框列表。 设置expandedfalse ,你可以使其作为选择元素(多一个)。

如果您需要自定义组被检索的方式,你也可以通过一个query_builder的选择,无论是QueryBuilder实例或关闭,其中$erEntityRepository

'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
    $qb = $er->createQueryBuilder('g');

    return $qb->orderBy('g.name', 'DESC);
}

对于更复杂的情况下也看采集表型 ,但你必须处理与jQuery / JavaScript的。



文章来源: Symfony2 form widgets for many-to-many relations