Doctrine ManyToOne создает внешние ключи и уникальный индекс

1

Я создаю планировщик ужинов и имею объект "списка", где все рабочие дни имеют собственное поле. Я добавил отношение ManyToOne в этом рецепте, как это:

/**
 * @var integer
 *
 * @ORM\ManyToOne(targetEntity="MatAppen\FrontendBundle\Entity\Recipe")
 * @ORM\JoinColumn(name="tuesday_id", referencedColumnName="id")
 */
private $tuesday;

Оператор joinColumn, по-видимому, не нужен, и попробовал без тех же результатов.

Моя проблема заключается в том, что Doctrine добавляет индекс Uniqe и внешний ключ в этом поле (и все тот же тип), что приводит к тому, что рецепт доступен только для 1 пользователя.

Любая идея, как сущность должна выглядеть вместо этого? Это вывод из доктрины: schema: update --dump-sql

ALTER TABLE lists ADD CONSTRAINT FK_8269FA55B974FE2 FOREIGN KEY (tuesday_id) REFERE
CREATE INDEX IDX_8269FA55B974FE2 ON lists (tuesday_id);

Любые советы будут очень благодарны :)

Ошибка SQL выглядит так:

1062: Duplicate entry '122' for key 'UNIQ_8269FA521671777'

редактировать

То, что я думаю, что я хочу, - это многонаправленные однонаправленные отношения. Причина в том, что в столбце/свойство tuesday должен быть только один рецепт, но мой рецепт не должен знать ни одного из моих списков...

Теги:
doctrine2

1 ответ

1

Проблема в том, что вы используете @ORM\ManyToOne и вы должны использовать @ORM\ManyToMany

  • 0
    Но мне нужен только один рецепт для этого поля в моем списке объектов?
  • 0
    Вы изменили свое отношение в другой сущности? Проверьте 5.4 здесь: doctrine-orm.readthedocs.org/en/latest/reference/…
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню