public function createCareerSchoolYear($career) { $con = Propel::getConnection(SchoolYearPeer::DATABASE_NAME); try { $con->beginTransaction(); $career_school_year = new CareerSchoolYear(); $career_school_year->setSchoolYear($this); $career_school_year->setCareer($career); $subject_configuration = $this->createOrCopyLastYearSubjectConfiguration($career, $con); $career_school_year->setSubjectConfiguration($subject_configuration); $career_school_year->save($con); foreach ($career->getCareerSubjects() as $career_subject) { $career_subject_school_year = new CareerSubjectSchoolYear(); $career_subject_school_year->setCareerSchoolYear($career_school_year); $career_subject_school_year->setCareerSubject($career_subject); $career_subject_school_year->copyLastYearConfiguration(); $career_subject_school_year->copyLastYearSort(); $career_subject_school_year->save($con); } $con->commit(); } catch (PropelPDOException $e) { $con->rollBack(); throw $e; } }