commit() публичный Метод

Commits the current persistence session
public commit ( ) : void
Результат void
Пример #1
0
 /**
  * Commits new objects and changes to objects in the current persistence
  * session into the backend
  *
  * @param boolean $onlyWhitelistedObjects
  * @return void
  * @api
  */
 public function persistAll($onlyWhitelistedObjects = false)
 {
     if ($onlyWhitelistedObjects) {
         foreach ($this->changedObjects as $object) {
             $this->throwExceptionIfObjectIsNotWhitelisted($object);
         }
         foreach ($this->removedObjects as $object) {
             $this->throwExceptionIfObjectIsNotWhitelisted($object);
         }
         foreach ($this->addedObjects as $object) {
             $this->throwExceptionIfObjectIsNotWhitelisted($object);
         }
     }
     // hand in only aggregate roots, leaving handling of subobjects to
     // the underlying storage layer
     // reconstituted entities must be fetched from the session and checked
     // for changes by the underlying backend as well!
     $this->backend->setAggregateRootObjects($this->addedObjects);
     $this->backend->setChangedEntities($this->changedObjects);
     $this->backend->setDeletedEntities($this->removedObjects);
     $this->backend->commit();
     $this->addedObjects = new \SplObjectStorage();
     $this->removedObjects = new \SplObjectStorage();
     $this->changedObjects = new \SplObjectStorage();
     $this->emitAllObjectsPersisted();
     $this->hasUnpersistedChanges = false;
 }