2012-03-10 9 views
0

ParentChildという2つのエンティティがある場合、どのようにして1つのクエリを実行し、Parent.number_of_childrenに関連する子の数を更新できますか?Doctrine 2:子供の数でフィールドを更新するには?

私はすべての親を反復することができますが、例えばMySQLで単一のクエリで簡単に行うことができます。問題はDoctrine 2(おそらくDQLで)でどうやって行うのでしょうか?誰もがより良いソリューションを提供していますまで、私はネイティブSQLと一緒に行きます

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

} 
+0

どう '@ORM \ PrePersistを(使用について) '? – Polmonino

答えて

0

0

私はPrePersistPreUpdateイベントを使用woudl

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

はい、10000人の子供がそれぞれ10000人いる場合はどうなりますか?ネイティブMySQLのクエリでは、私はデータベースから任意のデータを抽出せずにこれを行うことができます... –

関連する問題