php - 拉维尔 4 : Will a soft delete on a table also apply to it relationships

标签 php laravel laravel-4

我有一个名为'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/

相关文章:

laravel - AWS Iam 命令,在终端中正常工作,但在 Laravel/PHP AWS SDK 中不起作用

laravel - 模型和表命名约定 Laravel

php - 我如何将一小部分 zend 框架包含到 laravel 中?

php - 保存 Laravel 4 : Eloquent 时检测变化

php - RHEL 上突然出现 PHP 解析错误

amazon-ec2 - 又是 : sending mail (through php) from an EC2 instance

javascript - JavaScript 无法识别 Codeigniter 基本 URL

php - 嵌套的 mysql_query() - 重置第一个结果的指针?

php - Laravel 4 - 在其他 Controller 中使用 Controller Action ?

php - 无法在 Laravel 4.2 中创建数据库表