当有超过 100 个子相关模型时,我需要更改父模型的状态时遇到问题。
class AggregateRoot {
constuctor(private parentModel, private childModels) {}
public function updateStatus()
{
if (count(this->childModels) > 100) {
this->parentModel->status = 'some status';
}
}
}
据我了解,聚合根仅包含模型,不包含服务,因此我无法将存储库注入聚合根。另一方面,检索所有子模型只是为了查看其中是否有 100 个似乎是开销,而我可以向 DB 发出一个简单的请求。
如何用聚合根解决这样的问题?