Как я могу создать связь между сущностями дважды

Я пытаюсь создать какой-то инвентарь:

(Следующий код явно не полный)

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
}

Моя проблема в том, что пользователь может иметь один и тот же товар дважды или даже чаще.
Есть ли способ сказать Doctrine не создавать уникальные ключи для этих отношений, или мне нужно создать какую-то сущность отображения?

Что-то вроде:

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

Я просмотрел учения joinTable и joinColumns и документацию ManytoMany, но не нашел способа «исправить» мою проблему.

Спасибо

0

Решение

Для этого потребуется уникальный ключ, чтобы различать несколько элементов, подключенных к одному и тому же пользователю.

Просто создайте сущность UserItems с первичным ключом и соответствующие отношения OneToMany и ManyToOne.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]