【发布时间】:2021-07-15 15:06:03
【问题描述】:
这是我的第一篇文章。我在我的 laravel 项目中遇到了麻烦 这是我的数据表。
我有像 1,2,3 这样的学生 ID。每个学生都有多个结果,然后是课程。 我需要这样安排
有没有办法根据学生来安排。 谢谢你
代码:控制器:
public function notification()
{
$auth_id = Auth::user()->id;
$teacher = Teacher::where('user_id', $auth_id)->first();
$teacher_id = ($teacher->id);
$batch = Batch::where('teacher_id', $teacher_id)->first();
$courses = AssignCourses::with('course')
->where('semester_id', $batch->semester_id)
->get();
$current_semester_results = Result::with(['student', 'course'])
->where('semester_id', $batch->semester_id)
->get()
->groupBy('student.id');
$batch_students = Student::with('result')
->where('semester_id', $batch->semester_id)
->get();
return view('users.teacher.my_batch.notification', compact(['current_semester_results', 'courses', 'batch_students']));
}
【问题讨论】:
-
请您添加您在分组中使用的代码(复制和粘贴不是截图)。
-
我已经添加了控制器的代码。
-
我不确定 groupby 是否真的需要这个目的。
-
考虑到您正在加载他们的结果关系,为什么不直接使用
$batch_students? -
是的,我可以,但课程是动态的,每个学生都有不同的课程。在前端课程 @foreach($courses as $course)
{{ $course->course->course_code }} @endforeach 我可以得到动态课程但无法安排结果
标签: database laravel eloquent relation