Php 原则2删除问题
从我先前的问题 拥有该实体:Php 原则2删除问题,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,从我先前的问题 拥有该实体: Service\SafetyBundle\Entity\Step2: type: entity table: step2 repositoryClass: Service\SafetyBundle\Entity\Step2Repository manyToMany: selectedriskassesments: targetEntity: SelectedRiskAssesment
Service\SafetyBundle\Entity\Step2:
type: entity
table: step2
repositoryClass: Service\SafetyBundle\Entity\Step2Repository
manyToMany:
selectedriskassesments:
targetEntity: SelectedRiskAssesment
joinTable:
name: step2_selected_risk_assesments
joinColumns:
step2_id:
referencedColumnName: id
inverseJoinColumns:
selected_risk_id:
referencedColumnName: id
onDelete: CASCADE
cascade: ["persist","remove"]
选定的DiskAsement:
Service\SafetyBundle\Entity\SelectedRiskAssesment:
type: entity
table: selectedriskassesment
repositoryClass: Service\SafetyBundle\Entity\SelectedRiskAssesmentRepository
manyToOne:
risk_assesment:
targetEntity: RiskAssestment
inversedBy: selectedriskassesment
joinColumn:
name: risk_assesment
referencedColumnName: id
cascade: ["detach"]
fields:
id:
type: integer
id: true
generator:
strategy: AUTO
answer:
type: boolean
lifecycleCallbacks: { }
在删除步骤2时,它会删除所有选定的RiskaSessions,并删除我不想要的RiskaAssestment实体
如果我删除onDelete:CASCADE,它将生成一个异常,尝试放置CASCADE:[detach]但仍然没有任何结果我通过一个伪删除解决了这个问题,将调查实体分配给一个在应用程序中不可见的已删除用户,错误仍然可能是一个功能: