【发布时间】:2019-10-02 23:01:55
【问题描述】:
是否有一种简单的解决方案可以通过模型上的 hasMany Relation 分离(而不删除)所有相关模型?
例如,我有两个表:
学院(身份证、姓名)
学生(id、name、college_id(nullable))
在学院模型中,我定义了这种关系:
class College extends Model
{
public function students()
{
return $this->hasMany('App\Student','college_id','id');
}
}
将所有在校大学生从学院中分离出来的最佳方法是什么(即,获取学院的所有学生并将他们的college_id 设置为null)?
有没有一种简单的方法可以使用 eloquent 将所有学生从 College 模型中分离出来?
类似
class College extends Model
{
...
public function detachAllStudents()
{
...
}
}
附:已经读过这个问题Laravel hasMany detach,但是当我尝试将它应用到我的应用程序时出现错误
【问题讨论】:
-
分离多对多我认为你需要使用 dissociate()
-
不,dissociate() 仅适用于 hasOne 关系。