Doctrine ManyToOne创建外键和唯一索引


Doctrine ManyToOne creates foregin keys and uniqe index

我正在创建一个晚餐计划,并有一个'列表'对象,其中所有工作日都有自己的字段。我已经为食谱添加了一个ManyToOne关系,如下所示:

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

joinColumn语句显然不是必需的,并且已经尝试了没有,结果相同。

我的问题是Doctrine在这个字段上添加了一个unique索引和一个外键(并且所有的类型都是相同的),这导致一个配方只对一个用户可用。

知道实体应该是什么样子吗?这是doctrine的输出: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