【发布时间】:2015-12-24 19:38:57
【问题描述】:
所以我理解如何制作外键没有问题,但我的脑海中可能会出现一些倒退的小事。
据我所知,当您定义外键时,我可以从 documentation 中读取,
$table->foreign('user_id')
->references('id')->on('users')
->onDelete('cascade');
这里的 onDelete 引用了这个,这将是您在其间创建外键的任何内容。一个思考的例子是你有用户表和一个帖子表。因此,您的 post 表将包含(为简单起见)。
当我在这里阅读外键语法时,当我删除帖子时,它会级联删除与之相关的所有内容。但这是倒退吗?我想在用户表上定义一个级联删除规则,这样如果您删除一个用户,那么您会删除与该用户相关的所有内容。
再一次,如果您删除许多帖子中的 1 个,然后删除用户,那将是愚蠢的。有人可以为我澄清一下吗,如果事实上有一种方法可以在父关系(1 比 1:N)上定义此规则,我将如何去做?
【问题讨论】: