Справочная таблица Доктрины 2.1 - PullRequest
0 голосов
/ 27 декабря 2011

У меня есть справочная таблица 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.Какая правильная аннотация для ссылки на них без добавления дополнительного столбца идентификатора?

1 Ответ

0 голосов
/ 27 декабря 2011

Во-первых, вы, вероятно, не должны называть вещи $ contentId или $ albumId, а вместо этого просто называть их $ content и $ album.

При этом быстрое решение заключается в добавлении аннотаций @Id кваших ассоциаций.

В руководстве более подробно рассматривается использование составных ключей в Doctrine 2 .

...