【发布时间】:2018-02-12 08:42:02
【问题描述】:
假设我有 3 张桌子。
- 学生
- 大学
- 大学生
Students 表包含所有学生(所有大学生)数据。 College 表包含所有大学数据。而CollegeStudents 表由学生和学院的映射组成。我没有使用软删除。当我删除大学时,我可以使用关系轻松删除CollegeStudents 数据,因为CollegeStudents 是College.(onDelete('cascade')) 的子级。但我的问题是,在删除 College 行时,我也想从 Students 表中删除学生。怎么可能。 mysql 中有什么方法可以管理这种标准吗?我正在使用 Laravel 雄辩。
提前感谢您的帮助。
【问题讨论】:
-
很简单,你只需要在学生表中使用大学ID作为外国ID。因此,当您删除任何大学时,您对学生表使用相同的 id。
-
你不能..因为你正在使用belongsToMany两种方式..这只是意味着..即使你删除了学院,该学院下的那些学生可能属于另一所学院..所以你不能删除它..如果你真的想要这样的东西,你必须修复大学和学生之间的关系..你可以使用 College hasMany students .. and Students belongsTo College ..
标签: php mysql laravel eloquent