Я хочу получить такой результат в формате json идентификатор студента.
Для идентификатора студента 1
data:
0:
Exam_Name : "first term"
marks : "English : 75, Math : 80, Science : 70"
1:
Exam_Name : "second term"
marks : "English : 72, Math : 82, Science : 86"
Есть две таблицы результатов экзамена и экзамена
Exam has id, name, class_id columns
id name class_id
1 first term 1
2 second term 1
Exam_Results has exam_id, student_id subject, marks columns
id exam_id student_id subject marks
1 1 1 english 75
2 1 1 math 80
3 1 1 science 70
4 2 1 english 72
5 2 1 math 82
6 2 1 science 86
Вот мой файл контроллера
$student = Student::find($id);
$results =ExamResults::join('exam','exam_results.exam_id', '=', 'exam.id')
->select('exam.name','exam_results.*')
->where('student_id',$student->id)->get();
$data = [];
foreach($results as $row){
$data[] = [
'exam_name' =>$row->name,
'marks' =>$row->subject." : ".$row->marks,
];
}
return response()->json(['data' => $data,]);
с этим им получающимся результатом, как показано ниже, названия экзаменов повторяются.
data:
0:
exam_name: "first term"
marks: "english : "75"
1:
exam_name: "first term"
marks: "math : "80"
2:
exam_name: "first term"
marks: "science : "70"
3:
exam_name: "second term"
marks: "english : "72"
4:
exam_name: "second term"
marks: "math : "82"
5:
exam_name: "second term"
marks: "science : "86"
Но я хочу, чтобы имя экзамена раз и все предметы с отметками с ним. Пожалуйста, помогите