簡體   English   中英

不止一個ManyToMany構想-主義,Symfony

[英]More than one ManyToMany realtions - Doctrine, Symfony

我有兩個表“ RFQ”和“ RFQItem”。 首先,ManyToMany關系需要選擇將哪些RFQItem以RFQ形式添加到RFQ。 第二個ManyToMany關系在創建新的RFQ時需要創建一個新的RFQItems。

我已經配置了全部,但是架構更新引發了一個錯誤:

The table with name 'rfqgroup.rfq_rfqitem' already exists.

實體:

/**
 * @ORM\ManyToMany(targetEntity="RFQItem")
 * @ORM\JoinColumn(referencedColumnName="id", nullable=true)
 */
protected $rfqitem;

/**
 * @ORM\ManyToMany(targetEntity="RFQItem", cascade={"persist"})
 * @ORM\JoinColumn(referencedColumnName="rfq_id", nullable=true)
 */
protected $rfq_item_title;

甚至有可能建立這些關系?

您必須使用@JoinTable屬性來確保“多對多”表具有唯一的名稱。

/**
 * @ORM\ManyToMany(targetEntity="RFQItem")
 * @ORM\JoinTable(name="rfq_rfqitem",
 *      joinColumns={@ORM\JoinColumn(name="rfq_item_id", referencedColumnName="id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="rfqgroup_id", referencedColumnName="id")}
 * )
 */
public $rfqitem;

/**
 * @ORM\ManyToMany(targetEntity="RFQItem")
 * @ORM\JoinTable(name="rfq_rfqitem_title",
 *      joinColumns={@ORM\JoinColumn(name="rfq_item_title_id", referencedColumnName="rfq_id")},
 *      inverseJoinColumns={@ORM\JoinColumn(name="rfqgroup_id", referencedColumnName="id")}
 * )
 */
public $rfq_item_title;

您可能需要根據在每個實體中選擇的變量名稱來更正namereferencedColumnNameJoinColumn屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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