我试图从数据库中选择“任务”,它们各自的“学生”与student_id相关,而“学生”与school_id的“学校”相关。此外,“任务”仅与“学生”相关。
我有一个全局范围的 school_id,所以当我选择所有学生时,例如,只选择与当前学校相关的学生。
起初我是这样做的:
$queries['tasks'] = StudentTasks::with('student');
上面的代码选择了所有学校的所有任务,并且不属于当前学校的任务的“学生”将返回 null。
现在下面的代码工作得很好,至少据我所知。它只选择与当前学校的学生相关的任务。
$queries['tasks'] = StudentTasks::whereHas('student')->with('student');
我只想知道这是否是正确的方法还是我错过了什么?
这感觉很愚蠢,但我认为这会对其他人有所帮助。