Doctrine 2 - 如何使用映射的超类创建关联类?

时间:2013-11-28 14:57:19

标签: php doctrine-orm mappedsuperclass

我在使用Doctrine 2映射的超类时遇到问题,以定义ManyToMany关系。

我的代码是:

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/original/1385651300.png

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

感谢您帮助我。

0 个答案:

没有答案