【发布时间】:2015-07-06 18:55:19
【问题描述】:
我正在创建一个晚餐计划器,并有一个“列表”对象,其中所有工作日都有自己的字段。我在其中为配方添加了一个 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 应该只有一个配方,但我的配方不应该知道我的任何列表...
【问题讨论】:
标签: php symfony doctrine-orm