Doctrine指定JoinColumn的逻辑名称

时间:2015-10-07 17:11:32

标签: doctrine-orm joincolumn

我使用的是Doctrine 2.我有一个关联实体,指向两个实体。两者都是复合键的一部分。

我的问题是JoinColumn只允许指定物理名称,而不是逻辑名称。我需要两者不同。其他所有东西都可以映射,所以我觉得我错过了什么。

/**
 * @ORM\Entity()
 * @ORM\Table(name="user_friend")
 */
class UserFriend
{
    /**
     * @ORM\Id
     * @ORM\ManyToOne(targetEntity="User", inversedBy="friends")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=false)
     **/
    private $user;

    /**
     * @ORM\Id
     * @ORM\ManyToOne[...]
     **/
    private $friend;

    private $connectedDate;
}

顺便说一下,我尝试将关系与id列(user,userId)分开,但这会导致级联持久存在问题。

任何解决方案或可能不同的路线都将受到赞赏。

0 个答案:

没有答案