Обновление доктрины ассоциации «многие ко многим» 2
Есть ли решение сделать это автоматически?
Мои две сущности:
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;
}
пользователь сущность существует с двумяТовары уже связанные идентификаторы (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? Есть ли функция слияния, которая делает это автоматически, или я должен сделать это вручную?