如果我有两个实体:Parent
和Child
,如何运行单个查询并使用相关子项的数量更新Parent.number_of_children
?
我可以遍历每个父级,但是可以通过MySQL中的单个查询轻松完成,例如,问题是如何在Doctrine 2(也许是DQL)中执行此操作?
答案 0 :(得分:0)
我会使用PrePersist
和PreUpdate
个事件:
class Parent
{
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function onPrePersistAndUpdate()
{
$this->numberOfChildren = count($this->getChildren());
}
}
答案 1 :(得分:0)
在任何人提供更好的解决方案之前,我将使用本机SQL:
$entityManager -> getConnection() -> query("...");