我有一个参考表album_content,其中包含:album_id
,content_id
和sort_key
。我将其设置为具有@ManyToOne关系的实体:
/**
* @ManyToOne(targetEntity="Album")
* @JoinColumns({
* @JoinColumn(name="album_id", referencedColumnName="id")
* })
*/
private $albumId;
/**
* @ManyToOne(targetEntity="Content")
* @JoinColumns({
* @JoinColumn(name="content_id", referencedColumnName="id")
* })
*/
private $contentId;
/**
* @Column(name="sort_key", type="integer", nullable=false)
*/
private $sortKey;
现在,Doctrine抱怨No identifier/primary key specified
。如果不添加额外的ID列,引用它们的正确注释是什么?
答案 0 :(得分:0)
首先,您可能不应该命名$ contentId或$ albumId,而只是将它们称为$ content和$ album。
尽管如此,快速解决方案是将@Id注释添加到您的两个关联中。
本手册详细介绍了如何使用composite keys in Doctrine 2。