【发布时间】:2021-02-09 18:53:30
【问题描述】:
我的学说项目中有两个具有 oneToMany/ManyToOne 关系的实体。它们都有一个生命周期回调函数来计算不同的属性。例如,第一个实体 ShoppingCart 有一个聚合字段:totalArticlePrice,它计算所有文章的总价格:
/**
* @ORM\PostUpdate
* @ORM\PostPersist
* @ORM\PostLoad
*/
public function lifecycle(LifecycleEventArgs $args): void {
/** Total price */
foreach($this->articles as $article) {
$this->totalArticlePrice += $article->getPriceTotal();
}
}
在我的 Angular 应用程序中,我创建了一个可以包含多篇文章的 ShoppingCart(这很好用!)在所有文章下方有一个字段列出了所有文章的总价格:totalArticlePrice。
问题是当我添加新文章时总价没有更新。但是如果我刷新页面总价是正确的。所以我需要一种方法来告诉我的实体,如果其中一个被更新,另一个也应该更新以同时获取两个数据。添加新文章后重新加载页面并不是真正的显示总量的解决方案。
除此之外一切正常,因此只需要一种在更新其他实体时更新实体的方法。
【问题讨论】:
标签: php symfony doctrine entity