Я применяю событие переименования к элементу, сохраненному в БД с совокупной root версией 2, однако EventSauce устанавливает следующую версию равной 0. Я обнаружил, что причина (я предполагаю) - строка 83 в file AggregateRootBehaviour.php
public static function reconstituteFromEvents(AggregateRootId $aggregateRootId, Generator $events): AggregateRoot
{
/** @var AggregateRoot&static $aggregateRoot */
$aggregateRoot = new static($aggregateRootId);
/** @var object $event */
foreach ($events as $event) {
$aggregateRoot->apply($event);
}
$aggregateRoot->aggregateRootVersion = $events->getReturn() ?: 0;
/* @var AggregateRoot $aggregateRoot */
return $aggregateRoot;
}
$aggregateRoot->aggregateRootVersion = $events->getReturn() ?: 0;
Создание дампа $events->getReturn()
дает null
, поэтому aggregateRootVersion равен 0.
Вот мои $events
App\Models\Catalog\Events\Imported^ {#721
-name: "First Item"
}
App\Models\Catalog\Events\Renamed^ {#735
-name: "Second Time"
}
App\Models\Catalog\Events\Renamed^ {#740
-name: "55"
}
Что здесь не так, что $events->getReturn()
возвращает ноль?
Приветствия