Symfony2 FOSUserbundle将用户添加到组
我用的是FOSUserBundle组 现在我想将组添加到我的用户(添加新组时) 我试图将组加载到我的表单中,但失败了 表格如下:Symfony2 FOSUserbundle将用户添加到组,symfony,Symfony,我用的是FOSUserBundle组 现在我想将组添加到我的用户(添加新组时) 我试图将组加载到我的表单中,但失败了 表格如下: $builder ->add('enabled','checkbox',array( 'required' => false)) ->add('locked','checkbox',array( 'required' => false))
$builder
->add('enabled','checkbox',array(
'required' => false))
->add('locked','checkbox',array(
'required' => false))
->add('username','text',array(
'required' => true))
->add('email','email',array(
'required' => true))
->add('password','password',array(
'required' => true))
->add('roles', 'choice', array(
'choices' => array('ROLE_ADMIN' => 'Admin', 'ROLE_USER' => 'Benutzer'),
'required' => true,
'multiple' => true
))
->add('groups', 'choice',array(
'choices' => $this->getGroups(),
'multiple' => true
))
->add('save','submit')
;
}
我也试过了
$builder
->add('enabled','checkbox',array(
'required' => false))
->add('locked','checkbox',array(
'required' => false))
->add('username','text',array(
'required' => true))
->add('email','email',array(
'required' => true))
->add('password','password',array(
'required' => true))
->add('roles', 'choice', array(
'choices' => array('ROLE_ADMIN' => 'Admin', 'ROLE_USER' => 'Benutzer'),
'required' => true,
'multiple' => true
))
->add('groups', 'collection', array(
'type' => 'choice',
))
->add('save','submit')
;
感谢您的帮助:)您是否尝试过创建
组类型并在集合中实例化该类型
->add('groups', 'collection', array(
'type' => new Name\Space\To\GroupType(),
))
例如,您的GroupType
可能类似于以下代码。请注意,它已映射到组实体
<?php
namespace Name\Space\To\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class GroupType extends AbstractType
{
public $group;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('group', 'hidden', array(
'error_bubbling' => false,
'required' => false,
));
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'Name\Space\To\Entity\Group',
));
}
public function getName()
{
return 'namespaceto_grouptype';
}
}
我现在通过以下方式获得输出:
->add('groups','entity',array(
'class' => 'UniteUserBundle:usergroup' ,
'property' => 'name' ,
'multiple' => true ,
))
不是下一个问题。。。它不会持久化到我的表“fos\u user\u user\u group”:(