Prooph\EventStore\Snapshot\SnapshotStore::get PHP Method

get() public method

public get ( AggregateType $aggregateType, string $aggregateId ) : Snapshot | null
$aggregateType Prooph\EventStore\Aggregate\AggregateType
$aggregateId string
return Snapshot | null
    public function get(AggregateType $aggregateType, $aggregateId)
    {
        return $this->adapter->get($aggregateType, $aggregateId);
    }

Usage Example

 /**
  * @param string $aggregateId
  * @return null|object
  */
 protected function loadFromSnapshotStore($aggregateId)
 {
     $snapshot = $this->snapshotStore->get($this->aggregateType, $aggregateId);
     if (!$snapshot) {
         return;
     }
     $aggregateRoot = $snapshot->aggregateRoot();
     $streamName = $this->determineStreamName($aggregateId);
     $streamEvents = $this->eventStore->loadEventsByMetadataFrom($streamName, ['aggregate_type' => $this->aggregateType->toString(), 'aggregate_id' => $aggregateId], $snapshot->lastVersion() + 1);
     if (!$streamEvents->valid()) {
         return $aggregateRoot;
     }
     $this->aggregateTranslator->replayStreamEvents($aggregateRoot, $streamEvents);
     return $aggregateRoot;
 }