一对一、自引用、双向关系

Bla*_*ake 5 php doctrine

我正在尝试与实体建立一对一、自引用、双向关系 ( wowRevision ) ,如下所示:

/**
 * @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;
}
Run Code Online (Sandbox Code Playgroud)

没有parent财产,一切都正常。当我添加该属性时,两种关系都会返回null

迫在眉睫的问题是:我想做的事情可以在教义中完成吗?如果是这样,我将如何去做呢?

Bla*_*ake 1

回答我自己的问题:这是不可能的。正如 bksunday 所说,您需要两列来完成此行为。

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