我在使用 Doctrine 2 映射超类来定义多对多关系时遇到问题。
我的代码是:
use Doctrine\Common\Collections\ArrayCollection;
/** @MappedSuperclass */
abstract class MyAbstractClassA
{
/**
* @Id
* @GeneratedValue
* @Column(type="integer")
* @var int
*/
protected $id;
/**
* @ManyToMany(targetEntity="MyClassE")
* @var MyClassE[]
*/
protected $my_class_es;
// ... Other fields and methods
}
/** @Entity() */
class MyConcreteClassAa extends MyAbstractClassA
{
/**
* @Column(type="string")
* @var string
*/
public $aa_param;
// ... Other fields and methods
}
/** @Entity() */
class MyConcreteClassAb extends MyAbstractClassA
{
/**
* @Column(type="string")
* @var string
*/
public $ab_param;
// ... Other fields and methods
}
/** @Entity() */
class MyClassE
{
/**
* @Id
* @Column(type="integer")
* @var int
*/
protected $id;
/**
* @Column(type="string")
* @var string
*/
protected $e_param;
/**
* @ManyToOne(targetEntity="MyClassF")
* @var MyClassF
*/
protected $my_class_f;
// ... Other fields and methods
}
/** @Entity() */
class MyClassF
{
/**
* @Id
* @Column(type="integer")
* @var int
*/
protected $id;
// ... Other fields and methods
}
所以这是我所拥有的架构:http: //pix.toile-libre.org/upload/original/1385651287.png 还有我想要的:http: //pix.toile-libre.org/upload/原文/1385651300.png
我不知道如何获得这个结果,有人可以告诉我是否可能吗?
感谢你们对我的帮助。