У меня есть однонаправленное отношение ManyToMany:
class Account {
/* other attributes ... */
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Item")
* @ORM\JoinTable("account_items",
* joinColumns={@ORM\JoinColumn(name="account_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="item_id", referencedColumnName="vnum")}
* )
*/
private $items;
}
Что я хочу сделать:
Я хотел бы, чтобы в аккаунте было возможно иметь один или несколько идентичных предметов (один и тот же идентификатор). Например:
`account_id` 1, `item_id` 1
`account_id` 1, `item_id` 1
должно было быть разрешено.
Это невозможно, когда доктрина генерирует запрос DDL с двумя первичными ключами (account_id, item_id), и если я пытаюсь это сделать, я получаю ошибку входа в mysql duplciation.
Я настроил миграцию, которая создает id
в качестве первичного ключа (как только один), но я думаю, что это неправильное решение.
`id`: 1, account_id` 1, `item_id` 1
`id` : 2, account_id` 1, `item_id` 1
У вас есть?