예제 #1
0
 public static function doDelete($values, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(DivisionPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
     }
     if ($values instanceof Criteria) {
         DivisionPeer::clearInstancePool();
         $criteria = clone $values;
     } elseif ($values instanceof Division) {
         DivisionPeer::removeInstanceFromPool($values);
         $criteria = $values->buildPkeyCriteria();
     } else {
         $criteria = new Criteria(self::DATABASE_NAME);
         $criteria->add(DivisionPeer::ID, (array) $values, Criteria::IN);
         foreach ((array) $values as $singleval) {
             DivisionPeer::removeInstanceFromPool($singleval);
         }
     }
     $criteria->setDbName(self::DATABASE_NAME);
     $affectedRows = 0;
     try {
         $con->beginTransaction();
         $affectedRows += BasePeer::doDelete($criteria, $con);
         $con->commit();
         return $affectedRows;
     } catch (PropelException $e) {
         $con->rollBack();
         throw $e;
     }
 }
예제 #2
0
 public function createLastYearDivisions()
 {
     $last_year_school_year = SchoolYearPeer::retrieveLastYearSchoolYear($this->getSchoolYear());
     $last_year_career_school_year = CareerSchoolYearPeer::retrieveByCareerAndSchoolYear($this->getCareer(), $last_year_school_year);
     SchoolYearPeer::clearInstancePool();
     CareerSchoolYearPeer::clearInstancePool();
     $con = Propel::getConnection();
     try {
         $con->beginTransaction();
         $criteria = new Criteria();
         $criteria->add(DivisionPeer::CAREER_SCHOOL_YEAR_ID, $last_year_career_school_year->getId());
         $pager = new sfPropelPager('Division', 10);
         $pager->setCriteria($criteria);
         $pager->init();
         $last_page = $pager->getLastPage();
         for ($i = 1; $i <= $last_page; $i++) {
             $pager->setPage($i);
             $pager->init();
             $divisions = $pager->getResults();
             //This creates all the divisions, courses and courses subjects of the last year.
             foreach ($divisions as $division) {
                 $division->createCopyForSchoolYear($con, $this);
                 $division->clearAllReferences(true);
                 unset($division);
             }
             DivisionPeer::clearInstancePool();
         }
         unset($criteria);
         $con->commit();
     } catch (PropelException $e) {
         $con->rollback();
         throw $e;
     }
 }