相关疑难解决方法(0)

Symfony 2表单创建用户并添加组

我想创建一个表单来添加用户:

$builder->add('firstname', 'text', array(
                    'required' => 'required'
                ))
                ->add('middlename')
                ->add('lastname')
                ->add('email', 'email')
                ->add('isActive');
Run Code Online (Sandbox Code Playgroud)

但我想添加一个组.我有一个实体"组"和一个表单"GroupType".但是如何在我的所有组中添加一个选项来选择一个或多个?

我试过了:

->add('groups', 'choice' )
Run Code Online (Sandbox Code Playgroud)

但得到这个错误:

Notice: Object of class Doctrine\Common\Collections\ArrayCollection could not be converted to int in /vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/ChoiceList/ChoiceList.php line 457 
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

forms entity symfony

3
推荐指数
1
解决办法
5050
查看次数

角色界面和管理角色

我有简单的UserInterface实体:

function getRoles()
{
    return $this->roles->toArray();
}
Run Code Online (Sandbox Code Playgroud)

与Role Entity接口有很多很多关系

/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="users", cascade={"persist"})
*/
protected $roles;
Run Code Online (Sandbox Code Playgroud)

当我尝试使用表单类型管理用户角色时

public function buildForm(FormBuilder $builder, array $options)
{
    $builder->add('roles');
}
Run Code Online (Sandbox Code Playgroud)

Symfony给我一个错误:

期望参数类型为"Doctrine\Common\Collections\Collection","array"

我知道错误是在实体User的getRoles方法中返回一个数组,但我也知道getRoles是接口的一个方法,必须返回一个数组!

谁有一个很好的解决方案?

symfony symfony-2.1

1
推荐指数
1
解决办法
2575
查看次数

标签 统计

symfony ×2

entity ×1

forms ×1

symfony-2.1 ×1