Symfony2: сохраняйте отношение «многие ко многим» с обратной стороны со стандартным «сырым» - PullRequest
1 голос
/ 29 января 2012

Меня интересует поведение по умолчанию для сгенерированных отношений «многие ко многим»: хотя отношение сохраняется в таблице ассоциаций правильно при сохранении стороны-владельца отношения, сохранение обратной стороны не обновляет таблицу отношений в БД.

Я сгенерировал 2 CRUD от simfony2, которые до сих пор хорошо работали, по крайней мере, с этой "проблемой". Я прочитал некоторые темы и документы doctrine2, но больше ничего не получил.

Также пытался использовать 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;
}

Классы Controller еще не изменены, так как я был уверен, что он будет работать с поведением по умолчанию! Я не прав с этим?

Пожалуйста, помогите мне!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...