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

评论(0)