Doctrine2多对多的双向标准并不适用于双方

时间:2016-10-03 09:05:35

标签: symfony doctrine-orm many-to-many

我在Doctrine2中存在ManyToMany Bidrectional实现的问题(Symfony 2.8。*)

OWNER

class User
{

/**
 *  @ORM\ManyToMany(targetEntity="UserGroup", inversedBy="users")
 *  @ORM\JoinTable(name="users_groups")
 */
private $groups;

class UserGroup
{
/**
 * @ORM\ManyToMany(targetEntity="User", mappedBy="groups")
 */
private $users;

尝试在Internet上找到不同的内容,但通过添加用户在Group端进行更新不起作用,因为它不会更新。

我在添加群组时更新用户对象

// method of User class
public function addGroup(UserGroup $group)
{
    $group->addUser($this);
    $this->groups[] = $group;

    return $this;
}

并且仍然在组端更新用户

1 个答案:

答案 0 :(得分:0)

我的同事解决了。唯一被讨论的是: mappedBy 到UserGroup类中的 inversedBy

class UserGroup
{
/**
 * @ORM\ManyToMany(targetEntity="User", inversedBy="groups")
 */
private $users;

没有问题或抱怨
doctrine:schema:update --force

上的

错误

doctrine:schema:validate

但功能正常,现在双方都有更新。