示例#1
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      ConnectionInterface $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(ConnectionInterface $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 corresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aworkType !== null) {
             if ($this->aworkType->isModified() || $this->aworkType->isNew()) {
                 $affectedRows += $this->aworkType->save($con);
             }
             $this->setworkType($this->aworkType);
         }
         if ($this->aprimaryArtist !== null) {
             if ($this->aprimaryArtist->isModified() || $this->aprimaryArtist->isNew()) {
                 $affectedRows += $this->aprimaryArtist->save($con);
             }
             $this->setprimaryArtist($this->aprimaryArtist);
         }
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
                 $affectedRows += 1;
             } else {
                 $affectedRows += $this->doUpdate($con);
             }
             $this->resetModified();
         }
         if ($this->worksScheduledForDeletion !== null) {
             if (!$this->worksScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\WorkQuery::create()->filterByPrimaryKeys($this->worksScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->worksScheduledForDeletion = null;
             }
         }
         if ($this->collWorks !== null) {
             foreach ($this->collWorks as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->topicsScheduledForDeletion !== null) {
             if (!$this->topicsScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\TopicQuery::create()->filterByPrimaryKeys($this->topicsScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->topicsScheduledForDeletion = null;
             }
         }
         if ($this->collTopics !== null) {
             foreach ($this->collTopics as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->assignedRolesScheduledForDeletion !== null) {
             if (!$this->assignedRolesScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\AssignedRoleQuery::create()->filterByPrimaryKeys($this->assignedRolesScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->assignedRolesScheduledForDeletion = null;
             }
         }
         if ($this->collAssignedRoles !== null) {
             foreach ($this->collAssignedRoles as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
示例#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      ConnectionInterface $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(ConnectionInterface $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         if ($this->isNew() || $this->isModified()) {
             // persist changes
             if ($this->isNew()) {
                 $this->doInsert($con);
                 $affectedRows += 1;
             } else {
                 $affectedRows += $this->doUpdate($con);
             }
             $this->resetModified();
         }
         if ($this->authTokensScheduledForDeletion !== null) {
             if (!$this->authTokensScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\AuthTokenQuery::create()->filterByPrimaryKeys($this->authTokensScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->authTokensScheduledForDeletion = null;
             }
         }
         if ($this->collAuthTokens !== null) {
             foreach ($this->collAuthTokens as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->assignedRoleGlobalsRelatedByUserIdScheduledForDeletion !== null) {
             if (!$this->assignedRoleGlobalsRelatedByUserIdScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\AssignedRoleGlobalQuery::create()->filterByPrimaryKeys($this->assignedRoleGlobalsRelatedByUserIdScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->assignedRoleGlobalsRelatedByUserIdScheduledForDeletion = null;
             }
         }
         if ($this->collAssignedRoleGlobalsRelatedByUserId !== null) {
             foreach ($this->collAssignedRoleGlobalsRelatedByUserId as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->assignedRoleGlobalsRelatedByAssignedByScheduledForDeletion !== null) {
             if (!$this->assignedRoleGlobalsRelatedByAssignedByScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\AssignedRoleGlobalQuery::create()->filterByPrimaryKeys($this->assignedRoleGlobalsRelatedByAssignedByScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->assignedRoleGlobalsRelatedByAssignedByScheduledForDeletion = null;
             }
         }
         if ($this->collAssignedRoleGlobalsRelatedByAssignedBy !== null) {
             foreach ($this->collAssignedRoleGlobalsRelatedByAssignedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->assignedRolesRelatedByUserIdScheduledForDeletion !== null) {
             if (!$this->assignedRolesRelatedByUserIdScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\AssignedRoleQuery::create()->filterByPrimaryKeys($this->assignedRolesRelatedByUserIdScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->assignedRolesRelatedByUserIdScheduledForDeletion = null;
             }
         }
         if ($this->collAssignedRolesRelatedByUserId !== null) {
             foreach ($this->collAssignedRolesRelatedByUserId as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         if ($this->assignedRolesRelatedByAssignedByScheduledForDeletion !== null) {
             if (!$this->assignedRolesRelatedByAssignedByScheduledForDeletion->isEmpty()) {
                 \SpoilerWiki\AssignedRoleQuery::create()->filterByPrimaryKeys($this->assignedRolesRelatedByAssignedByScheduledForDeletion->getPrimaryKeys(false))->delete($con);
                 $this->assignedRolesRelatedByAssignedByScheduledForDeletion = null;
             }
         }
         if ($this->collAssignedRolesRelatedByAssignedBy !== null) {
             foreach ($this->collAssignedRolesRelatedByAssignedBy as $referrerFK) {
                 if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) {
                     $affectedRows += $referrerFK->save($con);
                 }
             }
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }