我正在使用 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)分开,但这导致级联问题仍然存在。
任何解决方案或不同的路线将不胜感激。