同じデータベースで OneToMany 関係を持つプロジェクトがあります。
現在、次のように設計されています。
/**
* @ORM\OneToMany(targetEntity="MyEntity", mappedBy="myCopiedItem")
*/
protected $mySource;
/**
* @ORM\ManyToOne(targetEntity="MyEntity", inversedBy="mySource")
* @ORM\JoinColumn(name="selected_myentity_copy_id", referencedColumnName="id")
*/
protected $myCopiedItem;
しかし今、私はこの関係をManyToManyにしなければなりません。だから私はこれをしました:
/**
* @ORM\ManyToMany(targetEntity="MyEntity", mappedBy="myCopiedItem")
*/
protected $mySource;
/**
* @ORM\ManyToMany(targetEntity="MyEntity", inversedBy="mySource")
* @ORM\JoinTable(name="entity_has_copy")
*/
protected $myCopiedItem;
しかし、symfony が作成した「entity_has_copy」テーブルには 1 つの項目 (myentity_id) しかなく、2 つのフィールド「myentity_id」と「selected_myentity_copy_id」が必要ですが、どちらも「myentity」テーブルの実際の ID です...
生成されたテーブルに両方の ID を含めるには、何を変更する必要がありますか?
私は何かを逃したと確信していますが、何がわかりません:(
注: エンティティ/テーブル名はプライバシーのために名前が変更されました