我正在嘗試在 laravel php 中建立一個(gè)物件陣列。到目前為止我已經(jīng)實(shí)現(xiàn)了這個(gè)目標(biāo)。
當(dāng)我返回?cái)?shù)組時(shí),我得到了回應(yīng),為了清楚起見,我添加了圖像。
我得到這個(gè)輸出
我想創(chuàng)建這樣的回應(yīng)...
[ { "student": "Jaime Thomas", "subjects": [ { "subject": "Physics", "marks_": 0 }, { "subject": "Chemistry", "marks_": 0 } ] }, { "student": "Jaime Dey", "subjects": [ { "subject": "Physics", "marks_": 0 }, { "subject": "Chemistry", "marks_": 0 } ] } ]
$usersData = User::where('user_id', 2)->where("stud_class", $exam_details->exam_class_id)->where("XXXX", $exam_details->exam_branch_id)->get(); foreach ($exam_data as $subject) { $att_exams = MODEL::where('XXXXX', $subject->subject_id) ->where('XXXX', $user->id) ->first(); if ($att_exams) { $marks = MODEL::where('XXXX', $att_exams->attended_exams_id)->get(); $right = 0; $wrong = 0; $total_marks = $marks->sum('XXXX'); $total_negative_marks = $wrong * $subject->negative_marks; $subjectsArray[] = array( "subject" => $subject->subject_name, "marks_" => $total_marks - $total_negative_marks, ); } else { $subjectsArray[] = array( "subject" => $subject->subject_name, "marks_" => 0, ); } } $studentsArray["subjects"] = array($subjectsArray); } return $studentsArray;
您可以嘗試以下程式碼:
$studentsArray = []; $usersData = User::where('user_id', 2)->where("stud_class", $exam_details->exam_class_id)->where("XXXX", $exam_details->exam_branch_id)->get(['name', 'id']); foreach ($usersData as $user) { $subjectsArray = []; foreach ($exam_data as $subject) { $att_exams = MODEL::where('XXXXX', $subject->subject_id) ->where('XXXX', $user->id) ->first(); if ($att_exams) { $marks = MODEL::where('XXXX', $att_exams->attended_exams_id)->get(); $right = 0; $wrong = 0; $total_marks = $marks->sum('XXXX'); foreach ($marks as $mark) { if ($mark->XXX== 0) { $wrong++; } else { $right++; } } $total_negative_marks = $wrong * $subject->negative_marks; $subjectsArray[] = [ "subject" => $subject->subject_name, "marks_" => $total_marks - $total_negative_marks, ]; } else { $subjectsArray[] = array( "subject" => $subject->subject_name, "marks_" => 0, ); } } $studentsArray[] = [ "student" => $user->name, "subjects" => $subjectsArray ]; } return $studentsArray;