У меня есть две сущности "Продукт" и "Пользователь" с ассоциацией ManyToMany.
и я хочу добавить столбцы к этой ассоциации.
чтобы сделать это, я должен создать другую сущность и связать их отношениями «один ко многим» и «многие ко одному».
поэтому проблема в том, как удалить первую ассоциацию "ManyToMany"
от
class Product
{
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="products")
*/
private $users;
}
class User extends BaseUser
{
/**
* @ORM\ManyToMany(targetEntity="ManagementBundle\Entity\Product", inversedBy="users")
* @ORM\JoinTable(name="users_products")
*/
protected $products;
}
до:
class Product
{
/**
* @ORM\ManyToOne(targetEntity="OrderProduct", inversedBy="products",cascade={"persist"})
* @ORM\JoinColumn(name="OrderProduct_id", referencedColumnName="id")
*/
private $OrderProduct;
}
class User extends BaseUser
{
/**
* @var string
*
* @ORM\OneToMany(targetEntity="OrderProduct", mappedBy="user",cascade={"persist"})
*/
protected $orderProducts;
}
class OrderProduct
{
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="OrderProducts",cascade={"persist"})
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
/**
* @var string
*
* @ORM\OneToMany(targetEntity="Product", mappedBy="OrderProduct",cascade={"persist"})
*/
private $products;
}