/** * {@inheritdoc} */ public function commit() { if (null !== $this->snapshot) { $this->snapshot->commit(); } $this->parentCommit(); }
/** * {@inheritdoc} */ public function find(IdentifierInterface $id) { $class = $this->aggregateRootClass; $aggregate = null; if (null !== $this->snapshot) { $aggregate = $this->snapshot->find($id, $class, $this->table); } if (null === $aggregate) { return $class::{'build'}($this->storage->findEventFromBeginning($this->table, $id)); } if (null !== ($events = $this->storage->findEventFromVersion($this->table, $id, $aggregate->getVersion()))) { $aggregate->replay($events); } return $aggregate; }