我有两个实体(请注意,省略了不相关的方法和属性):
/**
* @Entity
*/
class Manager {
/**
* @Column(type="integer")
*/
private $referencesCount;
/**
* @OneToMany(targetEntity="Reference", mappedBy="manager")
*/
private $references;
public functions increaseReferenceCount() {
$this->referencesCount++;
}
// other properties and methods
}
/**
* @Entity
* @HasLifecycleCallbacks
*/
class Reference {
/**
* @ManyToOne(targetEntity="Manager", inversedBy="references")
* @JoinColumn(nullable=false)
*/
private $manager;
/**
* @PostPersist
*/
public function updateManagerReferenceCount() {
$this->manager->increaseReferenceCount()
}
// other properties and methods
}
经理可以有许多参考。一份参考完全属于一位经理。我的模型应该针对查询进行优化,所以为了避免昂贵的连接(Manager 有更多的关联),我添加到 Manager 模型的 $referencesCount 属性,你猜对了,它保存了它的引用数。新的引用被持久化后,$referencesCount 应该增加。但现在不是。我错过了什么?(我已经厌倦了 cascade={"all"} 但它对我不起作用)