protected function doSave($con = null) { $con = is_null($con) ? $this->getConnection() : $con; $course = $this->getObject(); $from_course = CoursePeer::retrieveByPK($this->values['course_id']); try { $con->beginTransaction(); foreach ($from_course->getStudents() as $student) { foreach ($course->getCourseSubjects() as $course_subject) { $course_subject_student = new CourseSubjectStudent(); $course_subject_student->setCourseSubjectId($course_subject->getId()); $course_subject_student->setStudentId($student->getId()); $course_subject_student->save($con); } } $con->commit(); } catch (Exception $e) { throw $e; $con->rollBack(); } }