Laravel 4:表上的软删除是否也适用于它的关系

时间:2013-08-21 10:42:06

标签: php laravel laravel-4

我有一个名为'Titles'的表格,我将添加软删除,但它还有其他几个引用此“标题”表格的表格:

目前,如果删除标题,它将自动从标题详细信息中删除所有其他引用的表格。

因此,如果我在执行删除时向'标题'表添加软删除,则会在'标题'表上执行软删除,但是从引用的表中删除详细信息? 或者它会忽略onDelete Cascade请求并单独保留引用的数据吗?

如果是第一个选项,那么我需要将 $ table-> softDeletes(); 添加到所有表ref。以及将受保护的 $ softDelete = true; 添加到他们的模型中?

1 个答案:

答案 0 :(得分:6)

没有。你也必须对关系应用softDeletes(参见doc
它不能用ON DELETE CASCADE传播,因为软删除是Laravel的属性,而不是MySQL或其他东西。

但是当您加载模型时,Laravel将不会加载软删除的模型及其关系。 所以一个独特的软删除就足够了。