Doctrine 2.1参考表

时间:2011-12-26 23:03:15

标签: php annotations doctrine-orm relational-database

我有一个参考表album_content,其中包含:album_idcontent_idsort_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列,引用它们的正确注释是什么?

1 个答案:

答案 0 :(得分:0)

首先,您可能不应该命名$ contentId或$ albumId,而只是将它们称为$ content和$ album。

尽管如此,快速解决方案是将@Id注释添加到您的两个关联中。

本手册详细介绍了如何使用composite keys in Doctrine 2