tee*_*mup 7 forms many-to-many symfony
在Symfony 1中,有一个名为admin_double_list的表单小部件.它生成了两个名为Unassociated和Associated的选择字段.它还生成了将项目从一个列表添加到另一个列表的按钮.
在Symfony2中有没有简单的方法来实现这一目标?或者也许是其他一些用户友好的方式来编辑多对多关系?
在文档中,只有四个小部件可用于多对多关系,当存在大量关系编辑可能性时,它们都不是很好.
gre*_*emo 14
您可以使用实体表单字段轻松管理多对多关系.例如,如果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',
);
Run Code Online (Sandbox Code Playgroud)
这将生成一个复选框列表,其中标记(选中)关联实体,而不关联实体.设置expanded为false您可以将其渲染为选择元素(多个元素).
如果您需要自定义组被检索,你也可以通过一个方式query_builder选择,或者QueryBuilder实例或关闭,其中$er是EntityRepository
'query_builder' => function(\Doctrine\ORM\EntityRepository $er) {
$qb = $er->createQueryBuilder('g');
return $qb->orderBy('g.name', 'DESC);
}
Run Code Online (Sandbox Code Playgroud)
对于更复杂的场景,请查看集合表单类型,但您必须处理jQuery/Javascript.
| 归档时间: |
|
| 查看次数: |
7250 次 |
| 最近记录: |