Проблемы с отображением Doctrine2 в проекте Symfony2 - PullRequest
0 голосов
/ 02 января 2012

У меня есть 2 объекта Item и Itemimage. Отношение между Item и Itemimage является однонаправленным OneToMany с JoinColumn. Я получил помощь из документации доктрины. Однонаправленный OneToMany с JoinColumn достигается с помощью аннотации ManyToMany:

/**
 * @ManyToMany(targetEntity="Itemimage")
 * @JoinTable(name="itemimage",
 *      joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")},
 *      inverseJoinColumns={@JoinColumn(name="image_id", referencedColumnName="itemid")}
 *      )
 */

Где:

  • image_id: itemid - это свойство объекта Itemimage
  • item_id: свойство первичного ключа объекта Item

Я сделал свойство $ images в Item Entity и передал ему вышеупомянутый докблок. Проблема в том, что когда я пытался обновить схему. Я получаю учение об ошибке: " Таблица 'itemimage' уже существует ". Я уверен, что это не так. Я понятия не имею, что делать.

Пожалуйста, помогите мне с этим.

Спасибо! Я ценю вашу помощь.

1 Ответ

0 голосов
/ 14 января 2012

Предполагается, что это:

/**
 * @ManyToMany(targetEntity="Itemimage")
 * @JoinTable(name="itemimage_map",
 *      joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")},
 *      inverseJoinColumns={@JoinColumn(name="image_id", referencedColumnName="id")}
 *      )
 */

, что приведет к созданию третьей таблицы (itemimage_map), которая будет содержать только отображение двух других таблиц.Это не существующая таблица, к которой вы должны присоединиться.Эта таблица будет содержать item_id и image_id, которые являются первичными ключами таблиц, которые вы хотите отобразить.

...