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]但仍然没有任何结果

我通过一个伪删除解决了这个问题,将调查实体分配给一个在应用程序中不可见的已删除用户,错误仍然可能是一个功能: