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; } }
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; } }