course_id); $courses = collect(); foreach ($courses_id as $course_id) { $courses->push(\App\Course::find($course_id)); } return $courses; } public function saveCourses($courses) { $courses_id = explode(',',$this->course_id); foreach ($courses as $cours) { if ($cours != null){ array_push($courses_id,$cours->id); } } $courses_id = array_unique($courses_id); $courses_id = array_filter($courses_id); $this->course_id = implode(',',$courses_id); $this->save(); } public function saveCourse($course) { $courses_id = explode(',',$this->course_id); array_push($courses_id,$course->id); $courses_id = array_unique($courses_id); $courses_id = array_filter($courses_id); $this->course_id = implode(',',$courses_id); $this->save(); } public function wasGiven() { $courses = Course::where('ocom',$this->ocom)->get(); $result = collect(); $from = strtotime(\App\Config::getData('instruction_year_begin')); $to = strtotime(\App\Config::getData('instruction_year_end')); foreach ($courses as $course) { $event = $course->event; if (strtotime($event->date_begin) >= $from) { if (strtotime($event->date_begin) <= $to) { $result->push($course->id); } } } return $result; } public function updateWasGiven() { $this->course_id = implode(",",$this->wasGiven()->toArray()); $this->save(); } public static function wasUpdateGivenAll() { $ocoms = OCOM::all(); foreach ($ocoms as $o) { $o->updateWasGiven(); } } public static function findByOCOM($ocom) { return OCOM::where('ocom','=',$ocom)->first(); } public function getDurationInMin() { return $this->nbPeriode * 30; } public function niveau() { $niveau = -1; preg_match('/[^0\D]/',$this->oren,$niveau); return $niveau[0]; } }