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