private function checkRequiredSubjects() { $rs = array(); //if you didn't pass any subject, why bother? if ($this->passed_subjects != 0) { //loop through all the draft programs for ($i = 0; $i < count($this->programs_draft); $i++) { //Get all the required subjects $requiredSubjects = SubjectRequiredModel::where('program_code', $this->programs_draft[$i]['program_code'])->get()->toArray(); //loop again for ($s = 0; $s < count($requiredSubjects); $s++) { for ($p = 0; $p < count($this->passed_subjects); $p++) { $array[] = $this->passed_subjects[$p]['subject_code']; } if (!in_array($requiredSubjects[$s]['subject_code'], $array)) { if (!in_array($requiredSubjects[$s]['subject_code'], array("None1", "None2"))) { //flag as failed required subject failed //$rs[] = $requiredSubjects[$s]['subject_code']; //dd($this->passed_subjects); $tmp = SubjectModel::where('subject_code', $requiredSubjects[$s]['subject_code'])->get()->toArray(); $rs[] = $tmp[0]['subject_name']; } } } $this->programs_draft[$i]['subject_required'] = $rs; $rs = array(); } } }