Меня интересует поведение по умолчанию для сгенерированных отношений «многие ко многим»: хотя отношение сохраняется в таблице ассоциаций правильно при сохранении стороны-владельца отношения, сохранение обратной стороны не обновляет таблицу отношений в БД.
Я сгенерировал 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 еще не изменены, так как я был уверен, что он будет работать с поведением по умолчанию! Я не прав с этим?
Пожалуйста, помогите мне!