[英]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在此字段(以及所有相同類型的字段)上添加了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'
我想我想要的是多對一單向關系。 原因是該列/屬性星期二只應該有一個配方,但是我的配方不應該知道我的任何列表...
問題是您使用的是@ORM\\ManyToOne
而您應該使用的是@ORM\\ManyToMany
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.