0

我正在使用 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 列(用户、用户 ID)分开,但这导致级联问题仍然存在。

任何解决方案或不同的路线将不胜感激。

4

0 回答 0