Вы можете добавить только из ссылки owning side; то вы можете persist
только этот объект и промойте его.
Например, если аннотаций как этот
class User
{
/**
* @ORM\ManyToMany(targetEntity="Entity", inversedBy="users")
* @ORM\JoinTable(name="user_entity")
*/
protected $entities
}
class Entity
{
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="entities")
*/
protected $users;
}
вы можете сделать это
$user->add($entity);
$em = $this->getDoctrine()->getManager();
$em->flush();
Вы можете пропустить persist
если $user
извлекается из БД, и если это не новый объект.
Возможный дубликат [Сохранение многих ко многим отношениям с базой данных в Symfony2] (http://stackoverflow.com/questions/14159307/saving-many-to-many-relationship-to-database-in-symfony2) – akousmata