/**
	 * Performs the work of inserting or updating the row in the database.
	 *
	 * If the object is new, it inserts it; otherwise an update is performed.
	 * All related objects are also updated in this method.
	 *
	 * @param      PropelPDO $con
	 * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
	 * @throws     PropelException
	 * @see        save()
	 */
	protected function doSave(PropelPDO $con)
	{
		$affectedRows = 0; // initialize var to track total num of affected rows
		if (!$this->alreadyInSave) {
			$this->alreadyInSave = true;

			// We call the save method on the following object(s) if they
			// were passed to this object by their coresponding set
			// method.  This object relates to these object(s) by a
			// foreign key reference.

			if ($this->aCategorieMatiere !== null) {
				if ($this->aCategorieMatiere->isModified() || $this->aCategorieMatiere->isNew()) {
					$affectedRows += $this->aCategorieMatiere->save($con);
				}
				$this->setCategorieMatiere($this->aCategorieMatiere);
			}

			if ($this->aClasse !== null) {
				if ($this->aClasse->isModified() || $this->aClasse->isNew()) {
					$affectedRows += $this->aClasse->save($con);
				}
				$this->setClasse($this->aClasse);
			}

			if ($this->isNew() || $this->isModified()) {
				// persist changes
				if ($this->isNew()) {
					$this->doInsert($con);
				} else {
					$this->doUpdate($con);
				}
				$affectedRows += 1;
				$this->resetModified();
			}

			$this->alreadyInSave = false;

		}
		return $affectedRows;
	} // doSave()
Esempio n. 2
0
	/**
	 * Performs the work of inserting or updating the row in the database.
	 *
	 * If the object is new, it inserts it; otherwise an update is performed.
	 * All related objects are also updated in this method.
	 *
	 * @param      PropelPDO $con
	 * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
	 * @throws     PropelException
	 * @see        save()
	 */
	protected function doSave(PropelPDO $con)
	{
		$affectedRows = 0; // initialize var to track total num of affected rows
		if (!$this->alreadyInSave) {
			$this->alreadyInSave = true;

			// We call the save method on the following object(s) if they
			// were passed to this object by their coresponding set
			// method.  This object relates to these object(s) by a
			// foreign key reference.

			if ($this->aCategorieMatiere !== null) {
				if ($this->aCategorieMatiere->isModified() || $this->aCategorieMatiere->isNew()) {
					$affectedRows += $this->aCategorieMatiere->save($con);
				}
				$this->setCategorieMatiere($this->aCategorieMatiere);
			}

			if ($this->isNew() || $this->isModified()) {
				// persist changes
				if ($this->isNew()) {
					$this->doInsert($con);
				} else {
					$this->doUpdate($con);
				}
				$affectedRows += 1;
				$this->resetModified();
			}

			if ($this->groupesScheduledForDeletion !== null) {
				if (!$this->groupesScheduledForDeletion->isEmpty()) {
					JGroupesMatieresQuery::create()
						->filterByPrimaryKeys($this->groupesScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->groupesScheduledForDeletion = null;
				}

				foreach ($this->getGroupes() as $groupe) {
					if ($groupe->isModified()) {
						$groupe->save($con);
					}
				}
			}

			if ($this->professeursScheduledForDeletion !== null) {
				if (!$this->professeursScheduledForDeletion->isEmpty()) {
					JProfesseursMatieresQuery::create()
						->filterByPrimaryKeys($this->professeursScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->professeursScheduledForDeletion = null;
				}

				foreach ($this->getProfesseurs() as $professeur) {
					if ($professeur->isModified()) {
						$professeur->save($con);
					}
				}
			}

			if ($this->jGroupesMatieressScheduledForDeletion !== null) {
				if (!$this->jGroupesMatieressScheduledForDeletion->isEmpty()) {
					JGroupesMatieresQuery::create()
						->filterByPrimaryKeys($this->jGroupesMatieressScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->jGroupesMatieressScheduledForDeletion = null;
				}
			}

			if ($this->collJGroupesMatieress !== null) {
				foreach ($this->collJGroupesMatieress as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			if ($this->jProfesseursMatieressScheduledForDeletion !== null) {
				if (!$this->jProfesseursMatieressScheduledForDeletion->isEmpty()) {
					JProfesseursMatieresQuery::create()
						->filterByPrimaryKeys($this->jProfesseursMatieressScheduledForDeletion->getPrimaryKeys(false))
						->delete($con);
					$this->jProfesseursMatieressScheduledForDeletion = null;
				}
			}

			if ($this->collJProfesseursMatieress !== null) {
				foreach ($this->collJProfesseursMatieress as $referrerFK) {
					if (!$referrerFK->isDeleted()) {
						$affectedRows += $referrerFK->save($con);
					}
				}
			}

			$this->alreadyInSave = false;

		}
		return $affectedRows;
	} // doSave()