2

我在使用 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

我不知道如何获得这个结果,有人可以告诉我是否可能吗?

感谢你们对我的帮助。

4

0 回答 0