我有一个名为'Titles' 的表,我将向它添加软删除,但它还有几个引用此'Titles' 表的其他表:
目前,如果我删除一个标题,它将在标题详细信息处自动从所有其他引用的表格中删除。
因此,如果我在执行删除时向 'Titles' 表添加软删除,它会在 'titles' 表上执行软删除,但会从引用表中删除详细信息? 或者它会忽略 onDelete Cascade 请求并保留引用的数据吗?
如果是第一个选项,那么我需要添加一个 $table->softDeletes(); 到所有表引用。以及将 protected $softDelete = true; 添加到他们的模型中?
最佳答案
事实并非如此。您也必须对关系应用 softDeletes(参见 doc)
它不能通过 ON DELETE CASCADE
传播,因为软删除是 Laravel 的属性,而不是 MySQL 或其他东西。
但是当你加载你的模型时,Laravel 不会加载软删除模型及其关系。 因此,唯一的软删除就足够了。
关于php - 拉维尔 4 : Will a soft delete on a table also apply to it relationships,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18355260/