![](/img/trans.png)
[英]Doctrine - using ManyToMany with additional fields and want to save more than one row in association table
[英]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;
您可能需要根據在每個實體中選擇的變量名稱來更正name
和referencedColumnName
的JoinColumn
屬性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.