学说的符号删除了用OneTomany -Manytoone关系删除实体



我有两个实体活动和欺凌者。我使用OneTomany-许多人之间的关系。问题在于,当我在欺凌者实体中删除一排时,活动实体中的相关行也被删除,这不是我喜欢的行为。我只想将" null"设置为删除拥有侧(欺凌者)实体时的反向侧实体(活动)。

class Activities
{
     /**
      * @ORMManyToOne(targetEntity="BulleManager", 
      cascade={"persist"}, inversedBy="activities")
     * @ORMJoinColumn(name="bulle_manager_id", 
     referencedColumnName="id", nullable=true, onDelete="SET NULL")
     */
     protected $bulleManager;
...
}
class BulleManager
{
    /**
     * @ORMOneToMany(targetEntity="Activities", 
     mappedBy="bulleManager", cascade={"remove"})
     */
    private $activities;
}

欢迎您的解决方案。

只需从您的欺凌者实体中删除 cascade={"remove"}即可。

cascade={"remove"}如果在父表中删除了记录(bleemanager),则删除子表(活动)中的所有相关记录。

现在,如果删除了欺凌者,它将在活动表中将bullemanager_id设置为NULL

,并且不要忘记使用以下方式更新数据库架构。

php bin/console doctrine:schema:update

最新更新