学说2:如何用子女数更新字段?

时间:2012-03-10 19:03:31

标签: php sql symfony doctrine-orm dql

如果我有两个实体:ParentChild,如何运行单个查询并使用相关子项的数量更新Parent.number_of_children

我可以遍历每个父级,但是可以通过MySQL中的单个查询轻松完成,例如,问题是如何在Doctrine 2(也许是DQL)中执行此操作?

2 个答案:

答案 0 :(得分:0)

我会使用PrePersistPreUpdate个事件:

class Parent
{
    /**
     * @ORM\PrePersist()
     * @ORM\PreUpdate()
     */
    public function onPrePersistAndUpdate()
    {
        $this->numberOfChildren = count($this->getChildren());
    }

}

答案 1 :(得分:0)

在任何人提供更好的解决方案之前,我将使用本机SQL:

$entityManager -> getConnection() -> query("...");