我们有 Student 模型学生模型 hasMany 与的关系 Grade 模型
Student
hasMany
Grade
以下是列:
学生id、级别、姓名、状态
等级-id,student_id,科目,等级,状态
基本上,我想做的是查询所有参加考试的一级学生 math1 主题和 sort 它有等级
math1
sort
这是我迄今为止的代码:
$r = Student::where("level", 1) ->whereRelation('grades', 'subject', 'math1') ->get();
这适用于过滤数学1科目的一级学生,但我的问题是如何根据relatoship进行排序 grade 柱
grade
提前谢谢。
我的第一个想法是,如果你的主要兴趣是成绩,我会扭转这种局面。当您知道要列出参加 math1 同学们,你们可以这样做:
Grade::with('Student') ->whereSubject('math1') ->whereHas('Student', fn($query) => $query->whereLevel(1)) ->orderBy('grade') ->get();