Я создаю планировщик ужинов и имею объект "списка", где все рабочие дни имеют собственное поле. Я добавил отношение 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 должен быть только один рецепт, но мой рецепт не должен знать ни одного из моих списков...
Проблема в том, что вы используете @ORM\ManyToOne
и вы должны использовать @ORM\ManyToMany