我有一个名为'Titles'的表格,我将添加软删除,但它还有其他几个引用此“标题”表格的表格:
目前,如果删除标题,它将自动从标题详细信息中删除所有其他引用的表格。
因此,如果我在执行删除时向'标题'表添加软删除,则会在'标题'表上执行软删除,但是从引用的表中删除详细信息? 或者它会忽略onDelete Cascade请求并单独保留引用的数据吗?
如果是第一个选项,那么我需要将 $ table-> softDeletes(); 添加到所有表ref。以及将受保护的 $ softDelete = true; 添加到他们的模型中?
答案 0 :(得分:6)
没有。你也必须对关系应用softDeletes(参见doc)
它不能用ON DELETE CASCADE
传播,因为软删除是Laravel的属性,而不是MySQL或其他东西。
但是当您加载模型时,Laravel将不会加载软删除的模型及其关系。 所以一个独特的软删除就足够了。