【发布时间】:2021-06-20 19:34:12
【问题描述】:
我正在做我学校的 Laravel 项目。我有四个模型User,Klass,course 和School
这些是我的关系
User Model//
public function teacherCourses(){
return $this->belongsToMany(Course::class,'course_teachers','teacher_id','course_id');
}
public function klasses(){
return $this->belongsToMany(Klass::class,'course_teachers','teacher_id','klass_id');
}
和
klass model//
public function teacherCourses(){
return $this->belongsToMany(Course::class,'course_teachers','klass_id','course_id');
}
和
Course Model//
public function klasses(){
return $this->belongsToMany(Klass::class,'course_teachers','course_id','klass_id');
}
我的 course_teachers 表有 course_id、teacher_id(user)、klass_id 和 school_id。
我想返回一位老师,他的课和课内分配的课程..我怎么能得到那个
我试过了
$user=User::with('klasses.teacherCourses')->where('id',$teacher->id)->first();
但是我得到了一些额外数据的响应。就像它还返回具有相同 classId 的其他课程(未分配给用户的课程)。 我该如何改变这个 我的关系对吗??
注意:可以为教师分配许多班级和课程..我认为每种关系都是多对多的
【问题讨论】:
-
确实设置了任何显示该类已分配的内容