php – 一对一,自我引用,双向关系

我正在尝试创建一个一对一,自引用,双向关系(哇)与实体,修订版,看起来像这样:

/**
 * @Entity()
 * @Table(name="rev")
 */
class Revision extends BaseEntity
{
    /**
     * @Id
     * @Column(type="integer")
     * @GeneratedValue
     */
    protected $id;

    /**
     * @Column(type="string")
     */
    protected $comment;

    /**
     * @OneToOne(targetEntity="Revision", inversedBy="parent")
     * @JoinColumn(name="revision_of", referencedColumnName="id")
     */
    protected $revisionOf;

    /**
     * @OneToOne(targetEntity="Revision", mappedBy="revisionOf")
     */
    protected $parent;
}

没有父属性,一切正常.当我添加该属性时,两个关系都返回null.

当前的问题是:我可以在Doctrine中完成我想要做的事情吗?如果是这样,我该怎么做呢?

最佳答案 回答我自己的问题:这是不可能的.正如bksunday所说,你需要两列来完成这种行为.

不幸的是,这需要一些数据重复.

点赞