public function validateUnique($validator, $values) { $c = new Criteria(); $c->add(StudentFreePeer::STUDENT_ID, $values['student_id']); $c->add(StudentFreePeer::CAREER_SCHOOL_YEAR_PERIOD_ID, $values['career_school_year_period_id']); if (!is_null($values['course_subject_id'])) { $c->add(StudentFreePeer::COURSE_SUBJECT_ID, $values['course_subject_id']); } $student_free = StudentFreePeer::doSelectOne($c); if (!is_null($student_free)) { throw new sfValidatorError($validator, 'Ya existe esta tupla.'); } return $values; }
public function updateFree(PropelPDO $con = null, $is_free) { if (is_null($con)) { $con = Propel::getConnection(StudentReincorporationPeer::DATABASE_NAME, Propel::CONNECTION_WRITE); } try { $con->beginTransaction(); $c = new Criteria(); $c->add(StudentFreePeer::STUDENT_ID, $this->getStudentId()); $c->add(StudentFreePeer::COURSE_SUBJECT_ID, $this->getCourseSubjectId()); $c->add(StudentFreePeer::CAREER_SCHOOL_YEAR_PERIOD_ID, $this->getCareerSchoolYearPeriodId()); $student_free = StudentFreePeer::doSelectOne($c); if ($student_free) { $student_free->setIsFree($is_free); $student_free->save($con); } $con->commit(); } catch (Exception $e) { $con->rollBack(); } }