在 Laravel 文档中,我发现 detach() 方法可以分离多对多关系中的所有对象。detach() 方法也可以应用于 Laravel 中的一对多关系吗?如果没有,在这种情况下如何分离所有 n 个对象?
是否有一个简单的解决方案,可以通过模型上的hasMany Relation分离(不删除)所有相关模型?
例如,我有两个表:
大学(编号,姓名)
学生(ID,名称,college_id(可空))
在学院模型中,我定义了这种关系:
class College extends Model
{
public function students()
{
return $this->hasMany('App\Student','college_id','id');
}
}
Run Code Online (Sandbox Code Playgroud)
将当前所有大学生从学院中分离出来的最佳方法是什么(即,让该学院的所有学生都将他们的college_id设置为null)?
有没有一种简单的方法可以使所有学生脱离雄辩而脱离大学模式?
就像是
class College extends Model
{
...
public function detachAllStudents()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
PS已经读过这个问题Laravel hasMany detach,但是当我尝试将其应用于我的应用程序时出现错误