solicito ayuda para intentar resolver un problema que llevo como 6 horas intentando resolver.
Estoy realizando un formulario embebido 1:n. y estoy en el siguiente estado:
En la web me sale bien el formulario principal y puedo agregar y eliminar los formularios embebidos perfectamente.
Ahora bien, en el momento de de guardarlo todo, me guarda el principal pero los embebidos no.
el codigo del controlador createAction es el siguiente:
Código PHP:
   $entity  = new Estudio();
        $form = $this->createForm(new EstudioType(), $entity);
        $form->bind($request);
 
        if ($form->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($entity);
            $em->flush();
            foreach($entity->getPartesEstudio() as $parte){
                $parte->setIdEstudio($entity);
                $em->persist($parte);//  
            }
            $em->flush(); 
    La clase estudio es:
Código PHP:
   <?php
 
namespace proyectobackendBundleEntity;
use DoctrineCommonCollectionsArrayCollection;
 
use DoctrineORMMapping as ORM;
 
/**
 * Estudio
 */
class Estudio
{
    /**
     * @var integer
     */
    private $id;
 
    /**
     * @var string
     */
    private $nombre;
 
    /**
     * @var integer
     */
    private $numPartes;
 
    /**
     * @var integer
     */
    private $numDatosEstudio;
 
    /**
     * @var string
     */
    private $descripcion;
 
    /**
     * @var boolean
     */
    private $activa = 0;
 
    protected $partesEstudio;
 
    
    public function __construct()
    {
        $this->partesEstudio = new ArrayCollection();
    }
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set nombre
     *
     * @param string $nombre
     * @return Estudio
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }
 
    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }
 
    /**
     * Set numPartes
     *
     * @param integer $numPartes
     * @return Estudio
     */
    public function setNumPartes($numPartes)
    {
        $this->numPartes = $numPartes;
    
        return $this;
    }
 
    /**
     * Get numPartes
     *
     * @return integer 
     */
    public function getNumPartes()
    {
        return $this->numPartes;
    }
 
    /**
     * Set numDatosEstudio
     *
     * @param integer $numDatosEstudio
     * @return Estudio
     */
    public function setNumDatosEstudio($numDatosEstudio)
    {
        $this->numDatosEstudio = $numDatosEstudio;
    
        return $this;
    }
 
    /**
     * Get numDatosEstudio
     *
     * @return integer 
     */
    public function getNumDatosEstudio()
    {
        return $this->numDatosEstudio;
    }
 
    /**
     * Set descripcion
     *
     * @param string $descripcion
     * @return Estudio
     */
    public function setDescripcion($descripcion)
    {
        $this->descripcion = $descripcion;
    
        return $this;
    }
 
    /**
     * Get descripcion
     *
     * @return string 
     */
    public function getDescripcion()
    {
        return $this->descripcion;
    }
 
    /**
     * Set activa
     *
     * @param boolean $activa
     * @return Estudio
     */
    public function setActiva($activa)
    {
        $this->activa = $activa;
    
        return $this;
    }
 
    /**
     * Get activa
     *
     * @return boolean 
     */
    public function getActiva()
    {
        return $this->activa;
    }
        
     public function setPartesEstudio(ArrayCollection  $partesEstudio = null)
    {
        $this->partesEstudio = $partesEstudio;
    }
    public function getPartesEstudio()
    {
        return $this->partesEstudio;
    }
    public function __toString (){
        return $this->nombre;
    }
}    Código PHP:
   <?php
 
namespace proyectobackendBundleEntity;
 
use DoctrineORMMapping as ORM;
 
/**
 * ParteEstudio
 */
class ParteEstudio
{
    /**
     * @var integer
     */
    private $id;
 
    /**
     * @var string
     */
    private $nombre;
 
    /**
     * @var integer
     */
    private $numOrden;
 
    /**
     * @var integer
     */
    private $numPreguntas;
 
    /**
     * @var string
     */
    private $titulo;
 
    /**
     * @var boolean
     */
    private $guardarTiempoRespuesta = 0;
 
    /**
     * @var string
     */
    private $tipoTratamientoDatos;
 
    /**
     * @var integer
     */
    private $numPreguntasDePrueba;
 
    /**
     * @var \proyecto\backendBundle\Entity\Estudio
     */
    private $idEstudio;
 
    /**
     * @var \proyecto\backendBundle\Entity\TipoPregunta
     */
    private $idTipoPregunta;
 
 
    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }
 
    /**
     * Set nombre
     *
     * @param string $nombre
     * @return ParteEstudio
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }
 
    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }
 
    /**
     * Set numOrden
     *
     * @param integer $numOrden
     * @return ParteEstudio
     */
    public function setNumOrden($numOrden)
    {
        $this->numOrden = $numOrden;
    
        return $this;
    }
 
    /**
     * Get numOrden
     *
     * @return integer 
     */
    public function getNumOrden()
    {
        return $this->numOrden;
    }
 
    /**
     * Set numPreguntas
     *
     * @param integer $numPreguntas
     * @return ParteEstudio
     */
    public function setNumPreguntas($numPreguntas)
    {
        $this->numPreguntas = $numPreguntas;
    
        return $this;
    }
 
    /**
     * Get numPreguntas
     *
     * @return integer 
     */
    public function getNumPreguntas()
    {
        return $this->numPreguntas;
    }
 
    /**
     * Set titulo
     *
     * @param string $titulo
     * @return ParteEstudio
     */
    public function setTitulo($titulo)
    {
        $this->titulo = $titulo;
    
        return $this;
    }
 
    /**
     * Get titulo
     *
     * @return string 
     */
    public function getTitulo()
    {
        return $this->titulo;
    }
 
    /**
     * Set guardarTiempoRespuesta
     *
     * @param boolean $guardarTiempoRespuesta
     * @return ParteEstudio
     */
    public function setGuardarTiempoRespuesta($guardarTiempoRespuesta)
    {
        $this->guardarTiempoRespuesta = $guardarTiempoRespuesta;
    
        return $this;
    }
 
    /**
     * Get guardarTiempoRespuesta
     *
     * @return boolean 
     */
    public function getGuardarTiempoRespuesta()
    {
        return $this->guardarTiempoRespuesta;
    }
 
    /**
     * Set tipoTratamientoDatos
     *
     * @param string $tipoTratamientoDatos
     * @return ParteEstudio
     */
    public function setTipoTratamientoDatos($tipoTratamientoDatos)
    {
        $this->tipoTratamientoDatos = $tipoTratamientoDatos;
    
        return $this;
    }
 
    /**
     * Get tipoTratamientoDatos
     *
     * @return string 
     */
    public function getTipoTratamientoDatos()
    {
        return $this->tipoTratamientoDatos;
    }
 
    /**
     * Set numPreguntasDePrueba
     *
     * @param integer $numPreguntasDePrueba
     * @return ParteEstudio
     */
    public function setNumPreguntasDePrueba($numPreguntasDePrueba)
    {
        $this->numPreguntasDePrueba = $numPreguntasDePrueba;
    
        return $this;
    }
 
    /**
     * Get numPreguntasDePrueba
     *
     * @return integer 
     */
    public function getNumPreguntasDePrueba()
    {
        return $this->numPreguntasDePrueba;
    }
 
    /**
     * Set idEstudio
     *
     * @param \proyecto\backendBundle\Entity\Estudio $idEstudio
     * @return ParteEstudio
     */
    public function setIdEstudio(proyectobackendBundleEntityEstudio $idEstudio = null)
    {
        $this->idEstudio = $idEstudio;
    
        return $this;
    }
 
    /**
     * Get idEstudio
     *
     * @return \proyecto\backendBundle\Entity\Estudio 
     */
    public function getIdEstudio()
    {
        return $this->idEstudio;
    }
 
    /**
     * Set idTipoPregunta
     *
     * @param \proyecto\backendBundle\Entity\TipoPregunta $idTipoPregunta
     * @return ParteEstudio
     */
    public function setIdTipoPregunta(proyectobackendBundleEntityTipoPregunta $idTipoPregunta = null)
    {
        $this->idTipoPregunta = $idTipoPregunta;
    
        return $this;
    }
 
    /**
     * Get idTipoPregunta
     *
     * @return \proyecto\backendBundle\Entity\TipoPregunta 
     */
    public function getIdTipoPregunta()
    {
        return $this->idTipoPregunta;
    }
}     
 




