EventSauce Aggregate Root Версия всегда установлена ​​в 0 - PullRequest
0 голосов
/ 06 марта 2020

Я применяю событие переименования к элементу, сохраненному в БД с совокупной 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() возвращает ноль?

Приветствия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...