Получение записей из строк и столбцов в формате json laravel - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу получить такой результат в формате 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]);
    }

Пожалуйста, помогите мне получить желаемый результат. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...