En mi ER tengo la siguiente estructura:
A es una entidad abstracta (Entidad CTI) la que extienden B i C, cada una con sus atributos.
Despues tengo una entidad D, que tiene una relacion de 1 a muchos con la A, por lo tanto tengo en D un listado de A (pueden ser tanto Bs como Cs)
I el problema es que quiero coger los A de esta lista i despues los B, i lo que hago es tener esta función en la entidad D:
Código:
El error se produce si llamo a esta función dos veces, la primera en $this->A hay una PersistentCollection, que es lo normal, pero la segunda vez, solo hay uno de los objetos que contenia la PersistentCollection (pe. un B).public function getAByTipo($tipo) { foreach ($this->A as $entidad) { if ($entidad->getTipo() == $tipo) { return $entidad; } } return null; }
La relación de D con A, esta definida de la siguiente forma:
Código:
Porque se pierde la PersistentCollection?/** * @ORM\OneToMany(targetEntity="A", mappedBy="De") */ private $As;
Un saludo y gracias