Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/01/2017, 15:28
X_fran
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 7 meses
Puntos: 5
Respuesta: Problemas al agregar nuevo formulario a la coleccion

Bueno, como lo resolví fue iterando nuevamento por la colacción de nacimientos que tiene la embarazada a modificar y preguntando en cada uno de los elementos si es nuevo, es decir si el id ===null, en ese caso, persistirlo.

Código PHP:
foreach ($embarazada->getNacimientos() as $nacimiento)
                    {
                        if (
is_null($nacimiento->getId()))
                        {
                            
$nacimiento->setMadre($embarazada);
                            
$nacimiento->setHospital($ingreso->getUnidadDeIngreso());
                            
$nacimiento->setMunicipioPertenece($embarazada->getEstructuraOrganizativa()->getParent()->getParent()->getParent());
                            
$nacimiento->setAnho(intval($nacimiento->getFechaNacimiento()->format('Y')));
                            
$nacimiento->setEdadMadre($nacimiento->getMadre()->getEdad(new DateTime($nacimiento->getFechaNacimiento()->format('Y-m-d'))));
                            
$nacimiento->setSemanaGestacionMadre($embarazada->getEdadGestacional(new DateTime($nacimiento->getFechaNacimiento()->format('Y-m-d'))));
                            
$nacimiento->setTipoPartoDeLaMadre($nacimiento->getMadre()->getTipoPartoTuvo());
                            
$nacimiento->setNumero($contador);
                            
$nacimiento->setDireccionParticular($embarazada->getDireccionParticular());
                            
// la fecha de finalizado el embarazo tomara la fecha de nacimiento de la ultima criatura.
                            
$embarazada->setFechaFinalizado(new DateTime($nacimiento->getFechaNacimiento()->format('Y-m-d')));
                            
$embarazada->setEdadGestacionalFinaliza($embarazada->getEdadGestacional(new DateTime($nacimiento->getFechaNacimiento()->format('Y-m-d'))));
                            
$embarazada->getNacimientos()->add($nacimiento);
                            
$em->persist($nacimiento);
                            
$contador++;
                        }
                    } 
No se si sea lo óptimo, en definitiva las colecciones de nacidos asociados a la embarzada para convertirla en puérpera no son muy grandes a menos que el usuario se ponga a jugar agregandolo hijos a la colección.

Culaquier mejora por favor explíquenme !!!!!