Symfony 类型为“的预期参数”;条令\Common\Collections\Collection“&引用;代理\ \uuu CG \ \uuuu\MyBundle\Entity\MyEntity“;鉴于

Symfony 类型为“的预期参数”;条令\Common\Collections\Collection“&引用;代理\ \uuu CG \ \uuuu\MyBundle\Entity\MyEntity“;鉴于,symfony,Symfony,我正在努力解决这个问题: 给定的类型应为“条令\公共\集合\集合”、“代理\ CG \我的包\实体\我的实体” 我尝试了很多没有解决办法的事情。当我尝试这个时,我得到了它: $userCollection = $this->createForm(new UserCollectionType(), $userEvalClass); UserCollectionType class UserCollectionType extends AbstractType { public fu

我正在努力解决这个问题:

给定的类型应为“条令\公共\集合\集合”、“代理\ CG \我的包\实体\我的实体”

我尝试了很多没有解决办法的事情。当我尝试这个时,我得到了它:

$userCollection = $this->createForm(new UserCollectionType(), $userEvalClass);
UserCollectionType

class UserCollectionType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('users', 'entity', array(
                'label' => 'Evaluateurs',
                'empty_value' => '',
                'expanded' => false,
                'multiple' => true,
                'class' => 'EvalFour\UtilisateurBundle\Entity\Utilisateur',
                utilisateurs
            )
        );
    }

    public function getName()
    {
        return 'user_collection';
    }
}
UserCollection

class UserCollection    
{
    public $users;

    public function __construct($users){
        $this->users = $users;
    }
    public function getUsers(){
        return $this->users;
    }
}

在buildForm函数中,将
'multiple'=>设置为false,

将其设置为true时,它需要一个实体集合,而不仅仅是一个实体


如果您确实希望有多个用户,那么在buildForm函数中将
'entity'
替换为
'collection'
,将
'multiple'=>设置为false,

将其设置为true时,它需要一个实体集合,而不仅仅是一个实体


如果您确实希望有多个用户,则将
'entity'
替换为
'collection'

是的,但我希望有一个多个选择框,这就是为什么我设置了
multiple=true
。如何使用集合类型创建这样的选择框??在这种情况下,将“实体”替换为“选择”。您也可以将代码保留在原始问题中,并将“expanded”=>设置为true,但这会很快变得混乱。@HugoDozois,实体不是正确的选择,我需要一个集合,实体返回一个元素。出于兴趣,为什么“expanded=true”不是一个好主意?哪里会变得一团糟?你说的用“集合”替换“实体”是什么意思?!它们是严重不同的表单类型,因此不能互换替换!是的,没错,但是我想要一个多选择框,这就是为什么我设置了
multiple=true
。如何使用集合类型创建这样的选择框??在这种情况下,将“实体”替换为“选择”。您也可以将代码保留在原始问题中,并将“expanded”=>设置为true,但这会很快变得混乱。@HugoDozois,实体不是正确的选择,我需要一个集合,实体返回一个元素。出于兴趣,为什么“expanded=true”不是一个好主意?哪里会变得一团糟?你说的用“集合”替换“实体”是什么意思?!它们是严重不同的表单类型,因此不能互换替换!$userEvalClass看起来像什么$userEvalClass看起来像什么