protected function doSave($con = null) { $course = $this->getObject(); $con = is_null($con) ? $this->getConnection() : $con; try { $con->beginTransaction(); foreach ($course->getCourseSubjects() as $course_subject) { foreach ($course_subject->getCourseSubjectTeachers() as $course_subject_teacher) { $course_subject_teacher->delete($con); } } if (isset($this->values["teachers"])) { foreach ($this->values["teachers"] as $teacher_id) { foreach ($course->getCourseSubjects() as $course_subject) { $course_subject_teacher = new CourseSubjectTeacher(); $course_subject_teacher->setTeacherId($teacher_id); $course_subject_teacher->setCourseSubject($course_subject); $course_subject->save($con); } } } $con->commit(); } catch (Exception $e) { throw $e; $con->rollBack(); } }
protected function doSave($con = null) { parent::doSave($con); $course_subject = $this->getObject(); if (!$course_subject->getCareerSubject()->getHasOptions()) { $id = "course_subject_" . $course_subject->getId() . "_teachers"; foreach ($course_subject->getCourseSubjectTeachers() as $course_subject_teacher) { $course_subject_teacher->delete($con); } if (isset($this->values[$id])) { foreach ($this->values[$id] as $teacher_id) { $course_subject_teacher = new CourseSubjectTeacher(); $course_subject_teacher->setTeacherId($teacher_id); $course_subject_teacher->setCourseSubject($course_subject); $course_subject->save($con); } } } }
public function copyTeachersToCourseSubject(PropelPDO $con = null, $copy_course_subject) { $course_subject_teachers = $this->getCourseSubjectTeachers(); foreach ($course_subject_teachers as $course_subject_teacher) { $new_course_subject_teacher = new CourseSubjectTeacher(); $new_course_subject_teacher->setCourseSubject($copy_course_subject); $teacher = $course_subject_teacher->getTeacher(); $new_course_subject_teacher->setTeacher($teacher); $new_course_subject_teacher->save($con); $teacher->clearAllReferences(true); unset($teacher); $new_course_subject_teacher->clearAllReferences(true); unset($new_course_subject_teacher); $course_subject_teacher->clearAllReferences(true); unset($course_subject_teacher); } unset($course_subject_teachers); $this->clearAllReferences(true); }