Laravel 4:对表的软删除也适用于它的关系吗


Laravel 4: Will a soft delete on a table also apply to it relationships

我有一个名为'Titles'的表,我将向它添加软删除,但它还有其他几个表引用这个'Titles'表:

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

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

如果是第一个选项,那么我需要添加一个$table->softDeletes()添加到所有表引用,并添加受保护的$softDelete=true到他们的模型?

没有。您还必须对关系应用softDeletes(请参阅文档)
它不能用ON DELETE CASCADE传播,因为软删除是Laravel的属性,而不是MySQL或其他东西。

但当你加载你的模型时,Laravel不会加载软删除的模型及其关系。因此,一个唯一的软删除就足够了。