2011-12-26 10 views
0

album_id,content_id、およびsort_keyという参照テーブルalbum_contentがあります。私は@ManyToOne関係とエンティティとしてそれを設定:Doctrine 2.1参照テーブル

/** 
* @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

まず、$ contentIdや$ albumIという名前を付けてはいけませんが、代わりに$ contentと$ albumを呼び出してください。

つまり、両方の関連付けに@Idアノテーションを追加するのが簡単な解決策です。

このマニュアルでは、composite keys in Doctrine 2の使用についてさらに詳しく説明しています。

関連する問題