¿Es posible en Doctrine 2 crear dos objetos que están relacionados con muchos y la llamada persiste solo en uno de ellos para guardar ambos?Doctrine 2 ManyToMany cascade
entidadusuario:
/**
* Owning Side
*
* @ManyToMany(targetEntity="Role", inversedBy="users", cascade={"persist"})
* @JoinTable(name="user_roles",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="role_id", referencedColumnName="id")}
* )
*/
public $roles;
Papel de la Entidad:
/**
* Inverse Side
*
* @ManyToMany(targetEntity="User", mappedBy="roles")
*/
public $users;
Ahorro:
$role = new Role();
$user = new User();
$user->roles->add($role);
$role->users->add($user);
$em->persist($user);
$em->flush();
No funciona y trows de un error "Una nueva entidad se ha encontrado a través de una relación que no se configuró para continuar operaciones en cascada: Entidades \ Rol @ 0000000004a29c11000000005c48cb75. Persistir explícitamente la nueva entidad o configurar las operaciones de persistencia en cascada en la relación ".
como en @OneToOne (targetEntity = "My_Model_FasciaEta", cascade = {"persist"}) – max4ever