我正在尝试将用户添加到角色组但由于某种原因我无法实现这一点。 我按照symfony网站http://symfony.com/doc/current/bundles/FOSUserBundle/groups.html上的文档进行了操作。该对象已创建并且正确但在刷新时没有任何反应。
UserRoleGroups已在DB中定义。
保存
$oGroup = $this->em->getRepository('UserBundle:UserRoleGroups')->findOneByName($sRole);
$oUser->addGroup($oGroup);
$this->em->persist($oUser);
$this->em->flush();
我对$ oUser对象所做的任何其他更改都会被保存,除了这个。
用户实体
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\ManyToMany(
* targetEntity="App\UserBundle\Entity\UserRoleGroups"
* )
* @ORM\JoinTable(
* name="users_user_role_group",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}
* )
*/
protected $userRolesGroup;
UserRoleGroup实体
class UserRoleGroups extends BaseGroup
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
答案 0 :(得分:0)
问题在于用户实体中没有定义addUserRoleGroup
。
/**
* @param UserRoleGroups $userRoleGroups
*/
public function addUserRoleGroup(UserRoleGroups $userRoleGroups) {
$this->userRolesGroup->add($userRoleGroups);
}
所以这应该解决问题。