【发布时间】:2020-03-23 12:34:15
【问题描述】:
我有两个实体。 Configuration 和 Role 在Configuration 中具有单向多对多关系:
/**
* @var Role[]
*
* @ORM\ManyToMany(targetEntity="App\Entity\Role")
*/
private $roles;
创建和更新按预期工作,但是
$this->entityManager->remove($configuration);
$this->entityManager->flush();
不会工作(外键违规),因为 Doctrine 不会删除关系数据集
它仅适用于手动删除关系并在删除实体之前进行额外的刷新。
foreach ($issueTypeConfiguration->getRoles() as $role) {
$issueTypeConfiguration->removeRole($role);
}
// It only works with this additional flush
$this->entityManager->flush();
$this->entityManager->remove($issueTypeConfiguration);
$this->entityManager->flush();
我希望 Doctrine 删除相关数据集
【问题讨论】: