2

我正在尝试解决这个问题:

给定类型为“Doctrine\Common\Collections\Collection”、“Proxies__CG__\MyBundle\Entity\MyEntity”的预期参数

我尝试了很多没有解决方案的事情。当我尝试这个时我明白了:

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

用户集合类型

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';
    }
}

用户集合

class UserCollection    
{
    public $users;

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

1 回答 1

4

在您的 buildForm 函数中,设置'multiple' => false,

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

如果您确实想拥有多个用户,请替换'entity''collection'

于 2013-04-10T22:36:12.107 回答