【问题标题】:Getting aggregate by other property than ID in Prooph通过 Prooph 中的 ID 以外的其他属性获取聚合
【发布时间】:2018-10-15 09:16:50
【问题描述】:

在不知道他的 ID 但知道其他独特属性的情况下,如何最简单地从聚合存储库获取聚合?例如,我有Cart,其 ID 为 AggregateId,ownerId 为其他属性。

【问题讨论】:

    标签: php cqrs event-sourcing prooph


    【解决方案1】:

    在 CQRS 中(假设您有这样的系统),当针对聚合根进行交易时,您需要聚合的状态来做出决定以保留不变量。

    在读取方面,典型的模式是根据需要对数据进行投影/非规范化/索引,以方便查询。

    因此,通常情况下,您将根据OwnerId 对每个事件和索引进行投影跟踪,以方便查询。如果这只是为了查找以运行某些决策处理命令,那可以像OwnerId 到拥有的CartIds 的映射一样简单。


    您没有提供太多背景信息;这取决于您是在尝试构建订单历史系统还是运输等。如果您详细解释您要实现的总体目标,您很可能会得到任何后续问题的良好答案

    【讨论】:

    • 我按照你说的做了。刚刚在需要它的上下文中创建了这两个聚合之间的相关图。
    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 2011-01-16
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多