public function getStudentTermsByStudentId($id) { $yearsData = $this->find('all', array('fields' => array('SchoolYear.id', 'SchoolYear.name', 'SClass.id', 'SClass.name'), 'recursive' => -1, 'joins' => array(array('table' => 'classes', 'alias' => 'SClass', 'conditions' => array('SClass.id = ClassStudent.class_id')), array('table' => 'school_years', 'alias' => 'SchoolYear', 'conditions' => array('SchoolYear.id = SClass.school_year_id'))), 'conditions' => array('ClassStudent.student_id' => $id), 'order' => array('SchoolYear.name'))); $data = array(); if (!empty($yearsData)) { //Retrive each semester from timetable App::import('Model', 'Timetable'); $TimetableModel = new Timetable(); foreach ($yearsData as $key => $singleYear) { //pr($singleYear['SchoolYear']['name']); $timetablesData = $TimetableModel->getAllTimetableByClass($singleYear['SClass']['id']); if (!empty($timetablesData)) { $data = $this->setupSchoolTermsArrayData($singleYear['SchoolYear']['name'], $timetablesData); } } } return $data; }