public static function retrieveForExaminationSubject(ExaminationSubject $examination_subject, PropelPDO $con = null) { $con = is_null($con) ? Propel::getConnection() : $con; $c = new Criteria(); $c->addJoin(self::COURSE_SUBJECT_STUDENT_ID, CourseSubjectStudentPeer::ID); $c->addJoin(CourseSubjectStudentPeer::COURSE_SUBJECT_ID, CourseSubjectPeer::ID); $c->add(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, $examination_subject->getCareerSubjectSchoolYearId()); $c->addJoin(CareerSubjectSchoolYearPeer::CAREER_SCHOOL_YEAR_ID, CareerSchoolYearPeer::ID); $c->add(CareerSchoolYearPeer::SCHOOL_YEAR_ID, $examination_subject->getExamination()->getSchoolYearId()); $c->add(self::EXAMINATION_NUMBER, $examination_subject->getExamination()->getExaminationNumber()); $c->add(self::EXAMINATION_SUBJECT_ID, null, Criteria::ISNULL); return self::doSelect($c, $con); }
public function getAvailableStudentsForManualExaminationSubject(ExaminationSubject $examination_subject) { $c = new Criteria(); $c->add(CourseSubjectPeer::CAREER_SUBJECT_SCHOOL_YEAR_ID, $examination_subject->getCareerSubjectSchoolYearId()); $c->addJoin(CourseSubjectPeer::ID, CourseSubjectStudentPeer::COURSE_SUBJECT_ID, Criteria::INNER_JOIN); $c->add(CourseSubjectStudentPeer::STUDENT_APPROVED_COURSE_SUBJECT_ID, null, Criteria::ISNULL); $c->addJoin(CourseSubjectStudentPeer::STUDENT_ID, StudentPeer::ID, Criteria::INNER_JOIN); $c->addJoin(CourseSubjectStudentPeer::ID, StudentDisapprovedCourseSubjectPeer::COURSE_SUBJECT_STUDENT_ID, Criteria::INNER_JOIN); $c->add(StudentDisapprovedCourseSubjectPeer::EXAMINATION_NUMBER, $examination_subject->getExamination()->getExaminationNumber()); return StudentPeer::doSelect($c); }