如何根据学生设计结果
How to design result according students
这是我的第一个 post。我的 laravel 项目遇到了麻烦
这是我的数据 table。
我有学号1,2,3。每个学生都有多个结果,然后是课程。
我需要这样安排他们
我尝试了 groupby 并得到了这个结果
有没有什么办法可以按照学生来安排。
谢谢
代码:控制器:
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']));
}
只需使用 $batch_students
并在您的 PHP 代码上应用任何聚合,这样做会更容易。
$batch_students = Student::with('result')
->where('semester_id', $batch->semester_id)
->get();
$batch_students_grouped = $batch_students->groupBy('result.student_id');
注意: 由于没有表格,我无法进行测试,因此您可能需要更改 student_id
nest/access 中的索引最后一行代码。
您可以打印出您的 $batch_students_grouped->all()
并查看您应该如何迭代数据并将其显示在前端。
这是我的第一个 post。我的 laravel 项目遇到了麻烦
这是我的数据 table。
我有学号1,2,3。每个学生都有多个结果,然后是课程。
我需要这样安排他们
我尝试了 groupby 并得到了这个结果
有没有什么办法可以按照学生来安排。 谢谢
代码:控制器:
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']));
}
只需使用 $batch_students
并在您的 PHP 代码上应用任何聚合,这样做会更容易。
$batch_students = Student::with('result')
->where('semester_id', $batch->semester_id)
->get();
$batch_students_grouped = $batch_students->groupBy('result.student_id');
注意: 由于没有表格,我无法进行测试,因此您可能需要更改 student_id
nest/access 中的索引最后一行代码。
您可以打印出您的 $batch_students_grouped->all()
并查看您应该如何迭代数据并将其显示在前端。