que estoy tratando de conseguir algo sencillo CRUD hecho con la doctrina 2, pero cuando llega el momento de actualizar un registro con un conjunto de propiedades como una colección de gama No parece que removeElement() funcione como se supone que debe hacerlo. Incluso intenté hacerlo de esta manera ridículamente feo:removeElement() y claro() no funciona en la doctrina 2 con propiedad de colección matriz
foreach($entity->getCountries() as $c) {
$entity->getCountries()->removeElement($c);
$this->em->persist($entity);
$this->em->flush();
}
y no funcionó ... Cualquiera sabe cómo manejar esto? He pedido una solución a esto en muchas formas diferentes y hasta ahora no he obtenido una buena respuesta ... parece que faltan buenos ejemplos del manejo de CRUR de Doctrine 2. Publicaré más código a pedido.
Editar
//in user entity
/**
*
* @param \Doctring\Common\Collections\Collection $property
* @OneToMany(targetEntity="Countries",mappedBy="user", cascade={"persist", "remove"})
*/
private $countries;
//in countries entity
/**
*
* @var User
* @ManyToOne(targetEntity="User", inversedBy="id")
* @JoinColumns({
* @JoinColumn(name="user_id", referencedColumnName="id")
* })
*/
private $user;
¿Qué es exactamente eres yo tratando de lograr? ¿Estás tratando de eliminar todos los países? ¿O estás tratando de eliminar un país? ¿Has leído la sección sobre Trabajar con asociaciones en los documentos: http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html#removing-associations – rojoca
sí @rojoca Lo he leído todo. Y estoy tratando de eliminar todos los países asociados a una entidad de usuario, para poder cambiarlos por más países diferentes. –