2016-07-21 18 views
1

私は4列のコレクションを1件のクラスBがあります。注釈教義ManyToOne

class B { 
    private $FWs; 
    private $FXs; 
    private $FYs; 
    private $FZs; 

    ... 
} 

各クラスFW、FXを、FY、FZは

F.

他の抽象クラスを拡張し、私はこれを行うしたいと思います:

b->getFWs(); 
b->getFXs(); 
b->getFYs(); 
b->getFZs(); 

fw->getB(); 
fx->getB(); 
fy->getB(); 
fz->getB(); 

私は置くべき注釈知らない:

abstract class F { 
    /** 
    * @OMR\ManyToOne(targetEntity="B", inversedBy= ?) 
    */ 
    private $b; 
} 

class B { 
    /** 
    * @ORM\OneToMany(targetEntity= ?, mappedBy="b") 
    */ 
    private $FWs; 

    ... 
} 

私を助けてくれますか?感謝。

答えて

1

抽象クラスで保護された$ bを設定すると、子に設定された注釈が親注釈に追加されます。

(誰かがここに到着し、彼はそれがhereを説明しているようにそれを行う必要があり、アノテーションを上書きする場合)

ちょうどあなたの子供のクラスであなたのManyToOneの関係を定義します。

abstract class F { 
    protected $b; 
} 

class FW extends F{ 
    /** 
    * @OMR\ManyToOne(targetEntity="B", inversedBy= "FWs") 
    */ 
    protected $b; 
} 

class FX extends F { 
    /** 
    * @OMR\ManyToOne(targetEntity="B", inversedBy= "FXs") 
    */ 
    protected $b; 
} 

... 

class B { 
    /** 
    * @ORM\OneToMany(targetEntity= "FW", mappedBy="b") 
    */ 
    private $FWs; 

    /** 
    * @ORM\OneToMany(targetEntity= "FX", mappedBy="b") 
    */ 
    private $FXs; 

    ... 
}