2016-03-19 8 views
0

Ich versuche, eine Art Bestandsaufnahme zu erstellen:Wie kann ich eine Beziehung zwischen Objekten erstellen zweimal

(Der folgende Code offensichtlich nicht vollständig ist)

class User 
{ 
    /** 
    * @ORM\ManyToMany(targetEntity="Item", fetch="EAGER") 
    * @ORM\JoinTable(name="character_inventory_mm", 
    *  joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}, 
    *  inverseJoinColumns={@ORM\JoinColumn(name="item_id", referencedColumnName="id")} 
    *  ) 
    */ 
    private $inventory; 

    //etc 
} 

Mein Problem, dass ein Benutzer kann das gleiche Item zweimal oder sogar öfter haben. Gibt es eine Möglichkeit, Doctrine zu sagen, keine eindeutigen Schlüssel für diese Relationen zu erstellen, oder muss ich eine Art Mapping-Entity erstellen?

Etwas wie:

* @ORM\ManyToMany(targetEntity="Item", fetch="EAGER", indexBy="NULL") 

Ich habe Lehren joinTable nachgeschlagen und joinColumns und ManyToMany Dokumentation, aber ich habe nicht einen Weg zu „reparieren“ mein Problem finden.

Dank

Antwort

1

, dass ein eindeutiger Schlüssel benötigen würde mehrere Artikel mit dem gleichen Benutzer zu unterscheiden.

Erstellen Sie einfach Entity UserItems mit einem Primärschlüssel und corresponding OneToMany und ManyToOne Beziehungen.

Verwandte Themen