Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/08/2014, 13:27
Esdras_mtz
 
Fecha de Ingreso: febrero-2014
Ubicación: Edo. México
Mensajes: 85
Antigüedad: 10 años, 2 meses
Puntos: 0
Respuesta: Formulario embebido a 2 niveles

No se si esta sea la mejor forma de hacerlo, pero lo solucione así :S

Código PHP:
        $Originals1N = new ArrayCollection();
        
$Originals2N = new ArrayCollection();

       foreach (
$Tienda->getClasificacionxy() as $Datos) {
            
$Originals1N->add($Datos);
            foreach (
$Datos->getSubClasificacionxy() as $Datos2) {
            
$Originals2N->add($Datos2);
            }
        }
        
        
$Form->handleRequest($request); 
        if (
$Form->isValid()){
            foreach (
$Originals1N as $OriginalClass) {
                if (
false === $Tienda->getClasificacionxy()->contains($OriginalClass)) {
                     
$em->remove($OriginalClass);
                }
            }

            foreach (
$Tienda->getClasificacionxy() as $Clasificacion){
                foreach (
$Clasificacion->getSubClasificacionxy() as $SubClasificacion){
                    
$SubClasForm[]=$SubClasificacion->getId();
                }
            }
            foreach (
$Originals2N as $OrigSubC){
                
$remover=false;
                if (!
in_array($OrigSubC->getId(), $SubClasForm)) { 
                     
$remover=true;
                     
$IdSubClass=$OrigSubC;
                }
                if(
$remover){
                    
$em->remove($IdSubClass);
                }
            }

             
$em->persist($Tienda);
            
$em->flush();
          }

Saludos