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

我可以遍历每个父节点,但可以通过 MySQL 中的单个查询轻松完成,问题是如何在 Doctrine 2 中完成(可能使用 DQL)?



相关讨论

  • 使用 @ORM\\PrePersist() 怎么样?


除非有人提供更好的解决方案,否则我会使用原生 SQL:

1 $entityManager -> getConnection ( ) -> query ( “…” ) ;

我会使用 PrePersist 和 PreUpdate 事件:

1
2
3
4
5
6
7
8
9
10
11
12
class Parent
{
    /**
     * @ORM\\PrePersist()
     * @ORM\\PreUpdate()
     */

    public function onPrePersistAndUpdate ( )
    {
        $this -> numberOfChildren = count ( $this -> getChildren ( ) ) ;
    }

}



相关讨论

  • 是的,但是如果我有 10000 个父母和 10000 个孩子呢?使用本机 MySQL 查询,我可以在不从数据库中提取任何数据的情况下做到这一点……


声明:本站(华域联盟www.cnhackhy.com)所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。