public function subjectList($classes = "") { $subjectList = array(); $classesCount = 1; if ($classes == "") { $classes = Input::get('classes'); if (!Input::has('classes')) { return $subjectList; } } if (is_array($classes)) { $classes = classes::whereIn('id', $classes)->get()->toArray(); $classesCount = count($classes); } else { $classes = classes::where('id', $classes)->get()->toArray(); } while (list(, $value) = each($classes)) { $value['classSubjects'] = json_decode($value['classSubjects'], true); if (is_array($value['classSubjects'])) { while (list(, $value2) = each($value['classSubjects'])) { $subjectList[] = $value2; } } } if ($classesCount == 1) { $finalClasses = $subjectList; } else { $subjectList = array_count_values($subjectList); $finalClasses = array(); while (list($key, $value) = each($subjectList)) { if ($value == $classesCount) { $finalClasses[] = $key; } } } if (count($finalClasses) > 0) { return subject::whereIn('id', $finalClasses)->get()->toArray(); } return array(); }