【发布时间】:2021-12-29 07:38:47
【问题描述】:
我需要写一个查询, 科目表
1. Id=1 name= subject 1, teacher_id = 1, course_id = 1,;
2. Id=1 name= subject 2, teacher_id = 2, course_id = 3;
3. Id=1 name= subject 3, teacher_id = 3, course_id = 4
4. Id=1 name= subject 3, teacher_id = 4, course_id = 5 ;(exclude)
我有一个包含 student_id、course_id 和teacher_id 的student_exclusion 表。此模型适用于学生不希望看到teacher_id 和course_id 为这些科目的科目,
student_id = 1, teacher_id = 3,course_id=4
student_id = 1, teacher_id = 4,course_id=5
student_id = 2, teacher_id = 3,course_id=5
我需要显示除 3 和 4 之外的所有科目(这意味着我需要显示teacher_id!=Student_exclusion.teacher_id 和 course_id!=student_exclusion.course_id 的科目)。我该如何编写查询?我可以从这里获取teacher_id 和 course_id,但我需要检查特定的行。我想要做的就是从 student_exclusion 表中获取所有的teacher_id 和 course_id,然后从主题模型中获取所有的主题(获取teacher_id 和 course_id 的所有主题!= studentExcludedCourseTeacher)。就像,学生在中添加教师课程ID(我不想看到课程= 1和教师= 1的科目)。 (从一行)
$studentExcludedCourseTeacher= StudentExclusion::where('user_id', auth()->user()->id)->get('teacher_id', 'course_id');
$subjectList = Subject::->where(function ($query) use ($studentExcludedCourseTeacher) {
??
);
})->get();
【问题讨论】:
-
主题细节从何而来?
-
由管理员前端@AnkitSharma 手动添加我无法编辑帖子,但名称=subject1,subject2 subbject3
-
您要先通过student_id列将第二个表与第一个表连接起来吗?
-
@NabinaKhadka 点击标签下方的编辑按钮
-
从哪张桌子上买票?您的第一个表格用于科目,第二个表格用于 student_exclusion。您能否给出一个您期望的示例输出?