我有一个B类,有4个数组:
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;
...
}
你能帮我吗?感谢。
答案 0 :(得分:1)
如果在抽象classe中将$ b设置为protected,则会在子项上设置注释。
(如果有人到达这里并希望覆盖注释,他必须这样做,就像解释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;
...
}