Doctrine ManyToOne创建外键和唯一索引

时间:2015-07-06 18:55:20

标签: php symfony doctrine-orm

我正在创建一个晚餐策划者,并且有一个“列表”对象,其中所有工作日都有自己的字段。我在其中添加了一个ManyToOne关系,如下所示:

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

显然没有必要使用joinColumn语句,并且尝试没有相同的结果。

我的问题是Doctrine正在这个字段上添加一个Uniqe索引和一个外键(以及所有相同的类型),这导致一个配方只能供1个用户使用。

知道实体应该如何看待? 这是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'

修改

我想要的我想要的是多对一的单向关系。原因是列/属性周二只应该有一个食谱,但我的食谱不应该知道我的任何列表......

1 个答案:

答案 0 :(得分:1)

问题是您使用的是chunks1[1].data.data["0"] ,而您应该使用@ORM\ManyToOne