我有一個Gift
實體,該實體具有發送和接收器...無論是從實體User
用戶可以是許多禮物給其他用戶發送。但也有接收器的許多禮物從許多用戶Doctrine2 Symfony2的多個多對多關係
我看到它的樣子,我Gift
實體內部的解決辦法是這樣的:
/**
* @ORM\ManyToMany(targetEntity="Tracker\UserBundle\Entity\User")
* @ORM\JoinTable(name="gift_user",
* joinColumns={@ORM\JoinColumn(name="sender_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="gift_id", referencedColumnName="id")}
* )
*/
protected $senders;
/**
* @ORM\ManyToMany(targetEntity="Tracker\UserBundle\Entity\User")
* @ORM\JoinTable(name="gift_user",
* joinColumns={@ORM\JoinColumn(name="receiver_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="gift_id", referencedColumnName="id")}
* )
*/
protected $receivers;
但是當我運行php app/console doctrine:schema:update --dump-sql
我得到:
[Doctrine\DBAL\Schema\SchemaException]
The table with name 'finaldb.gift_user' already exists.
我該如何改變我的語法,配置,所以我最終得到這樣的表?
gift_id | sender_id | receiver_id
感謝,讓我怎麼解決這個問題?對我來說很重要的是,接收者被識別出來,這很容易完成......但我怎樣才能以清晰的方式識別發件人?解決方法? – Confidence
完全錯過了關於評論的通知,抱歉。 如果你有一個接收者 - 發送者結構,你可能想要使用一個帶有兩個字段的連接實體,一個指的是發送者,另一個指向接收者。這將刪除您的@ ManyToMany'關係,並將其替換爲一個實體,以便您可以指定關聯。 – Ocramius