public static function doSelectJoinAllExceptEmployee(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     AbsenceEkskulPeer::addSelectColumns($c);
     $startcol2 = AbsenceEkskulPeer::NUM_COLUMNS - AbsenceEkskulPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     StudentPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + StudentPeer::NUM_COLUMNS;
     AcademicCalendarPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + AcademicCalendarPeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + ClassGroupPeer::NUM_COLUMNS;
     SchedulePeer::addSelectColumns($c);
     $startcol6 = $startcol5 + SchedulePeer::NUM_COLUMNS;
     ScheduleDetailPeer::addSelectColumns($c);
     $startcol7 = $startcol6 + ScheduleDetailPeer::NUM_COLUMNS;
     GradeComponentPeer::addSelectColumns($c);
     $startcol8 = $startcol7 + GradeComponentPeer::NUM_COLUMNS;
     $c->addJoin(AbsenceEkskulPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(AbsenceEkskulPeer::ACADEMIC_CALENDAR_ID, AcademicCalendarPeer::ID);
     $c->addJoin(AbsenceEkskulPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $c->addJoin(AbsenceEkskulPeer::SCHEDULE_ID, SchedulePeer::ID);
     $c->addJoin(AbsenceEkskulPeer::SCHEDULE_DETAIL_ID, ScheduleDetailPeer::ID);
     $c->addJoin(AbsenceEkskulPeer::GRADE_COMPONENT_ID, GradeComponentPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = AbsenceEkskulPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = StudentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj2 = new $cls();
         $obj2->hydrate($rs, $startcol2);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj2 = $temp_obj1->getStudent();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initAbsenceEkskuls();
             $obj2->addAbsenceEkskul($obj1);
         }
         $omClass = AcademicCalendarPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getAcademicCalendar();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initAbsenceEkskuls();
             $obj3->addAbsenceEkskul($obj1);
         }
         $omClass = ClassGroupPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getClassGroup();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initAbsenceEkskuls();
             $obj4->addAbsenceEkskul($obj1);
         }
         $omClass = SchedulePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj5 = new $cls();
         $obj5->hydrate($rs, $startcol5);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj5 = $temp_obj1->getSchedule();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initAbsenceEkskuls();
             $obj5->addAbsenceEkskul($obj1);
         }
         $omClass = ScheduleDetailPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj6 = new $cls();
         $obj6->hydrate($rs, $startcol6);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj6 = $temp_obj1->getScheduleDetail();
             if ($temp_obj6->getPrimaryKey() === $obj6->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj6->addAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj6->initAbsenceEkskuls();
             $obj6->addAbsenceEkskul($obj1);
         }
         $omClass = GradeComponentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj7 = new $cls();
         $obj7->hydrate($rs, $startcol7);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj7 = $temp_obj1->getGradeComponent();
             if ($temp_obj7->getPrimaryKey() === $obj7->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj7->addAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj7->initAbsenceEkskuls();
             $obj7->addAbsenceEkskul($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
 public static function doSelectJoinAllExceptClassSession(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     ScheduleDetailPeer::addSelectColumns($c);
     $startcol2 = ScheduleDetailPeer::NUM_COLUMNS - ScheduleDetailPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     SchedulePeer::addSelectColumns($c);
     $startcol3 = $startcol2 + SchedulePeer::NUM_COLUMNS;
     LocationPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + LocationPeer::NUM_COLUMNS;
     $c->addJoin(ScheduleDetailPeer::SCHEDULE_ID, SchedulePeer::ID);
     $c->addJoin(ScheduleDetailPeer::LOCATION_ID, LocationPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = ScheduleDetailPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = SchedulePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj2 = new $cls();
         $obj2->hydrate($rs, $startcol2);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj2 = $temp_obj1->getSchedule();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addScheduleDetail($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initScheduleDetails();
             $obj2->addScheduleDetail($obj1);
         }
         $omClass = LocationPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getLocation();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addScheduleDetail($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initScheduleDetails();
             $obj3->addScheduleDetail($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
 public static function doSelectJoinAllExceptEmployee(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     VAbsenceEkskulPeer::addSelectColumns($c);
     $startcol2 = VAbsenceEkskulPeer::NUM_COLUMNS - VAbsenceEkskulPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     SchedulePeer::addSelectColumns($c);
     $startcol3 = $startcol2 + SchedulePeer::NUM_COLUMNS;
     ScheduleDetailPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + ScheduleDetailPeer::NUM_COLUMNS;
     GradeComponentPeer::addSelectColumns($c);
     $startcol5 = $startcol4 + GradeComponentPeer::NUM_COLUMNS;
     $c->addJoin(VAbsenceEkskulPeer::SCHEDULE_ID, SchedulePeer::ID);
     $c->addJoin(VAbsenceEkskulPeer::SCHEDULE_DETAIL_ID, ScheduleDetailPeer::ID);
     $c->addJoin(VAbsenceEkskulPeer::GRADE_COMPONENT_ID, GradeComponentPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = VAbsenceEkskulPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = SchedulePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj2 = new $cls();
         $obj2->hydrate($rs, $startcol2);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj2 = $temp_obj1->getSchedule();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addVAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initVAbsenceEkskuls();
             $obj2->addVAbsenceEkskul($obj1);
         }
         $omClass = ScheduleDetailPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getScheduleDetail();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addVAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initVAbsenceEkskuls();
             $obj3->addVAbsenceEkskul($obj1);
         }
         $omClass = GradeComponentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getGradeComponent();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addVAbsenceEkskul($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initVAbsenceEkskuls();
             $obj4->addVAbsenceEkskul($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }
 public static function doSelectJoinAllExceptSchedule(Criteria $c, $con = null)
 {
     $c = clone $c;
     if ($c->getDbName() == Propel::getDefaultDB()) {
         $c->setDbName(self::DATABASE_NAME);
     }
     VStudentRaportPeer::addSelectColumns($c);
     $startcol2 = VStudentRaportPeer::NUM_COLUMNS - VStudentRaportPeer::NUM_LAZY_LOAD_COLUMNS + 1;
     StudentPeer::addSelectColumns($c);
     $startcol3 = $startcol2 + StudentPeer::NUM_COLUMNS;
     StudentAccalPeer::addSelectColumns($c);
     $startcol4 = $startcol3 + StudentAccalPeer::NUM_COLUMNS;
     StudentCoursePeer::addSelectColumns($c);
     $startcol5 = $startcol4 + StudentCoursePeer::NUM_COLUMNS;
     GradeComponentPeer::addSelectColumns($c);
     $startcol6 = $startcol5 + GradeComponentPeer::NUM_COLUMNS;
     GradeSpecPeer::addSelectColumns($c);
     $startcol7 = $startcol6 + GradeSpecPeer::NUM_COLUMNS;
     CitationPeer::addSelectColumns($c);
     $startcol8 = $startcol7 + CitationPeer::NUM_COLUMNS;
     SubjectCurrPeer::addSelectColumns($c);
     $startcol9 = $startcol8 + SubjectCurrPeer::NUM_COLUMNS;
     ClassGroupPeer::addSelectColumns($c);
     $startcol10 = $startcol9 + ClassGroupPeer::NUM_COLUMNS;
     AcademicCalendarPeer::addSelectColumns($c);
     $startcol11 = $startcol10 + AcademicCalendarPeer::NUM_COLUMNS;
     ScheduleDetailPeer::addSelectColumns($c);
     $startcol12 = $startcol11 + ScheduleDetailPeer::NUM_COLUMNS;
     $c->addJoin(VStudentRaportPeer::STUDENT_ID, StudentPeer::ID);
     $c->addJoin(VStudentRaportPeer::STUDENT_ACCAL_ID, StudentAccalPeer::ID);
     $c->addJoin(VStudentRaportPeer::STUDENT_COURSE_ID, StudentCoursePeer::ID);
     $c->addJoin(VStudentRaportPeer::GRADE_COMPONENT_ID, GradeComponentPeer::ID);
     $c->addJoin(VStudentRaportPeer::GRADE_SPEC_ID, GradeSpecPeer::ID);
     $c->addJoin(VStudentRaportPeer::CITATION_ID, CitationPeer::ID);
     $c->addJoin(VStudentRaportPeer::SUBJECT_CURR_ID, SubjectCurrPeer::ID);
     $c->addJoin(VStudentRaportPeer::CLASS_GROUP_ID, ClassGroupPeer::ID);
     $c->addJoin(VStudentRaportPeer::ACADEMIC_CALENDAR_ID, AcademicCalendarPeer::ID);
     $c->addJoin(VStudentRaportPeer::SCHEDULE_DETAIL_ID, ScheduleDetailPeer::ID);
     $rs = BasePeer::doSelect($c, $con);
     $results = array();
     while ($rs->next()) {
         $omClass = VStudentRaportPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj1 = new $cls();
         $obj1->hydrate($rs);
         $omClass = StudentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj2 = new $cls();
         $obj2->hydrate($rs, $startcol2);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj2 = $temp_obj1->getStudent();
             if ($temp_obj2->getPrimaryKey() === $obj2->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj2->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj2->initVStudentRaports();
             $obj2->addVStudentRaport($obj1);
         }
         $omClass = StudentAccalPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj3 = new $cls();
         $obj3->hydrate($rs, $startcol3);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj3 = $temp_obj1->getStudentAccal();
             if ($temp_obj3->getPrimaryKey() === $obj3->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj3->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj3->initVStudentRaports();
             $obj3->addVStudentRaport($obj1);
         }
         $omClass = StudentCoursePeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj4 = new $cls();
         $obj4->hydrate($rs, $startcol4);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj4 = $temp_obj1->getStudentCourse();
             if ($temp_obj4->getPrimaryKey() === $obj4->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj4->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj4->initVStudentRaports();
             $obj4->addVStudentRaport($obj1);
         }
         $omClass = GradeComponentPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj5 = new $cls();
         $obj5->hydrate($rs, $startcol5);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj5 = $temp_obj1->getGradeComponent();
             if ($temp_obj5->getPrimaryKey() === $obj5->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj5->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj5->initVStudentRaports();
             $obj5->addVStudentRaport($obj1);
         }
         $omClass = GradeSpecPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj6 = new $cls();
         $obj6->hydrate($rs, $startcol6);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj6 = $temp_obj1->getGradeSpec();
             if ($temp_obj6->getPrimaryKey() === $obj6->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj6->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj6->initVStudentRaports();
             $obj6->addVStudentRaport($obj1);
         }
         $omClass = CitationPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj7 = new $cls();
         $obj7->hydrate($rs, $startcol7);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj7 = $temp_obj1->getCitation();
             if ($temp_obj7->getPrimaryKey() === $obj7->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj7->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj7->initVStudentRaports();
             $obj7->addVStudentRaport($obj1);
         }
         $omClass = SubjectCurrPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj8 = new $cls();
         $obj8->hydrate($rs, $startcol8);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj8 = $temp_obj1->getSubjectCurr();
             if ($temp_obj8->getPrimaryKey() === $obj8->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj8->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj8->initVStudentRaports();
             $obj8->addVStudentRaport($obj1);
         }
         $omClass = ClassGroupPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj9 = new $cls();
         $obj9->hydrate($rs, $startcol9);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj9 = $temp_obj1->getClassGroup();
             if ($temp_obj9->getPrimaryKey() === $obj9->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj9->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj9->initVStudentRaports();
             $obj9->addVStudentRaport($obj1);
         }
         $omClass = AcademicCalendarPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj10 = new $cls();
         $obj10->hydrate($rs, $startcol10);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj10 = $temp_obj1->getAcademicCalendar();
             if ($temp_obj10->getPrimaryKey() === $obj10->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj10->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj10->initVStudentRaports();
             $obj10->addVStudentRaport($obj1);
         }
         $omClass = ScheduleDetailPeer::getOMClass();
         $cls = Propel::import($omClass);
         $obj11 = new $cls();
         $obj11->hydrate($rs, $startcol11);
         $newObject = true;
         for ($j = 0, $resCount = count($results); $j < $resCount; $j++) {
             $temp_obj1 = $results[$j];
             $temp_obj11 = $temp_obj1->getScheduleDetail();
             if ($temp_obj11->getPrimaryKey() === $obj11->getPrimaryKey()) {
                 $newObject = false;
                 $temp_obj11->addVStudentRaport($obj1);
                 break;
             }
         }
         if ($newObject) {
             $obj11->initVStudentRaports();
             $obj11->addVStudentRaport($obj1);
         }
         $results[] = $obj1;
     }
     return $results;
 }