Php 条令2:如何用子项数更新字段?
如果我有两个实体:Php 条令2:如何用子项数更新字段?,php,sql,symfony,doctrine-orm,dql,Php,Sql,Symfony,Doctrine Orm,Dql,如果我有两个实体:Parent和Child,我如何运行单个查询并用相关子项的数量更新Parent.number\u\u children 我可以迭代每一个父级,但在MySQL中只需一个查询就可以轻松完成。例如,问题是在原则2中(可能是DQL)?我将使用PrePersist和PreUpdate事件: class Parent { /** * @ORM\PrePersist() * @ORM\PreUpdate() */ public function
Parent
和Child
,我如何运行单个查询并用相关子项的数量更新Parent.number\u\u children
我可以迭代每一个父级,但在MySQL中只需一个查询就可以轻松完成。例如,问题是在原则2中(可能是DQL)?我将使用
PrePersist
和PreUpdate
事件:
class Parent
{
/**
* @ORM\PrePersist()
* @ORM\PreUpdate()
*/
public function onPrePersistAndUpdate()
{
$this->numberOfChildren = count($this->getChildren());
}
}
在有人提供更好的解决方案之前,我将使用本机SQL:
$entityManager -> getConnection() -> query("...");
使用
@ORM\PrePersist()
怎么样?是的,但是如果我有10000个家长,每个家长都有10000个孩子呢?使用本机MySQL查询,我可以做到这一点,而无需从数据库中提取任何数据。。。