簡體   English   中英

學說ManyToOne創建foregin密鑰和uniqe索引

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM