У меня две сущности, Роли и Права со связью многие ко многим. Я хочу, чтобы при удалении Прав в JOIN таблице очищались правила, но не удалялись связанные роли из таблицы Roles... Но почему-то выходит либо:
а) При удалении прав, удаляются записи в таблице связей, но и удаляется связанная роль.
Вот аннотация из прав
/**
* @ORM\ManyToMany(targetEntity="Role", inversedBy="permissions", cascade={"remove"})
* @ORM\JoinTable(name="permissions_role", joinColumns={@ORM\JoinColumn(name="permissions_id", referencedColumnName="id", unique=false,onDelete="CASCADE")}, inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id", unique=false, onDelete="CASCADE")})
*/
private $roles;
А вот из ролей
/**
* @ORM\ManyToMany(targetEntity="Permissions", mappedBy="roles", cascade={"remove"})
*/
private $permissions;
б) Если не указывать cascade={"remove"} , то удаляются права, не удаляются роли... но так же не удаляются связанные записи и при повторном заполнении возникают ошибки из-за дублей.
Возможно я какое-то дополнение к правилам упускаю? Кто-нибудь может подсказать?