public function buildForm() { if (\Auth::user()->getStatus() !== 'professor') { $this->add('ProfessorId', 'select', ['label' => 'Professor', 'choices' => $this->getProfessors()]); } $this->add('SubjectId', 'select', ['label' => 'Subject', 'choices' => $this->getSubjects()])->add('CourseId', 'select', ['label' => 'Course', 'choices' => $this->getCourses()])->add('SchoolYearId', 'select', ['label' => 'School Year', 'choices' => $this->getSchoolYears()]); }
private function getSubjects($status) { $subjects = SubjectQuery::create()->orderByName(); if ($status === 'professor') { $subjects->joinEngagement(); $subjects->where('Engagement.professor_id = ?', \Auth::user()->getProfessorId()); } else { if ($status === 'student') { $subjects->joinStudyProgram(); $subjects->where('StudyProgram.course_id = ?', \Auth::user()->getStudent()->getCourseId()); } } $subjects->find(); $subjects_arr = ['' => '']; foreach ($subjects as $subject) { $name = $subject->__toString(); $id = $subject->getId(); $subjects_arr[$id] = $name; } return $subjects_arr; }