Я хочу получить такой результат в формате 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"
но я получаю результат, подобный этому
data:
0:
Exam_Name : "first term"
marks : ["English","Math","Science"] : ["75","80","70"]
1:
Exam_Name : "second term"
marks : ["English","Math","Science"] : ["72","82","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
Вот мой файл контроллера
public function exam($id)
{
$student = Student::find($id);
$exams = ExamResults::where('student_id',$id)->select('exam_id')
->orderBy('exam_id','DESC')->distinct()->pluck('exam_id')->toArray();
$data = [];
foreach($exams as $exam)
{
$exm = Exam::where('id',$exam)->first();
$subject = ExamResults::where('exam_id',$exm->id)
->where('student_id',$student->id)->pluck('subject');
$mark = ExamResults::where('exam_id',$exm->id)
->where('student_id',$student->id) ->pluck('marks');
$data[] = [
'exam_name' => $exm->name,
'marks' => $subject." : ".$mark
];
}
return response()->json(['data' => $data]);
}
Пожалуйста, помогите мне получить желаемый результат. Заранее спасибо.