4

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

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

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

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

4

1 回答 1

6

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

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

于 2013-08-21T10:49:20.740 回答