我想知道生成的多对多关系的默认行为:虽然在保持关系的拥有方时关系正确地存储在关联表中,但反转方的持久化不会更新数据库中的关系表.
我通过 simfony2 生成了 2 个 CRUD,到目前为止至少在这个“问题”上运行良好。我阅读了一些线程和教义 2 文档,但没有进一步了解。
还尝试在一侧和两侧使用 cascade={"persist"} 但仍然没有运气。
任何帮助都会很棒:
这是我的用户实体:
/**
*
*
* @ORM\ManyToMany(targetEntity="SSV\AppBundle\Entity\Role", inversedBy="users")
* @ORM\JoinTable(name="users_roles",
* joinColumns={
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="role_id", referencedColumnName="id")
* }
* )
*/
private $roles;
/**
* Add role
*
* @param \SSV\AppBundle\Entity\Role $role
*/
public function addRole(SSV\AppBundle\Entity\Role $role)
{
$this->roles[] = $role;
}
/**
* Get roles
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getRoles()
{
return $this->roles;
}
和我的角色实体:
/**
*
*
* @ORM\ManyToMany(targetEntity="SSV\AppBundle\Entity\User", mappedBy="roles")
*/
private $users;
/**
* Add user
*
* @param SSV\AppBundle\Entity\User $user
*/
public function addUser(SSV\AppBundle\Entity\User $user)
{
$this->users[] = $user;
}
/**
* Get user
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getUsers()
{
return $this->users;
}
控制器类尚未修改,因为我确信它可以使用默认行为!我错了吗?
请帮帮我!