是否有任何解决方案,自动做到这一点?更新许多-to-many关联doctrine2
我的两个实体:
class User
{
/* *
* @ManyToMany(targetEntity="Product", inversedBy="users")
* @JoinTable(name="user_product",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="idUser")},
* inverseJoinColumns={@JoinColumn(name="product_id", referencedColumnName="idProduct")}
*
*)
*/
protected $products;
}
class Product {
/**
* @ManyToMany(targetEntity="User", mappedBy="products")
*/
protected $users;
}
用户实体有两个产品存在已经相关ID(1
,2
):
$user = $entityManager->find('User', 1);
此数组来自视图与新产品要插入,删除的数据或已经在列表中的任何内容:
$array = array(1, 3, 4);
在这种情况下:
1 = Already in association with User (do nothing)
2 = not in array and should be deleted
3 = should be inserted
4 = should be inserted
如何做到这一点的doctrine2?有没有一个合并功能自动执行或手动执行?
**答案**:请参考我在http://stackoverflow.com/a/35445060/2423563 – SudarP