Foros del Web » Programando para Internet » PHP » Symfony »

Error de Persistencia con formularios Embebidos

Estas en el tema de Error de Persistencia con formularios Embebidos en el foro de Symfony en Foros del Web. Hola amigos, nuevamente tengo un inconveniente a la hora de guardar lo datos de un formulario embebido, me explico mejor 1- tengo 2 entidades SchoolUseAdmin ...
  #1 (permalink)  
Antiguo 27/01/2014, 13:30
 
Fecha de Ingreso: noviembre-2013
Mensajes: 83
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta Error de Persistencia con formularios Embebidos

Hola amigos, nuevamente tengo un inconveniente a la hora de guardar lo datos de un formulario embebido, me explico mejor
1- tengo 2 entidades SchoolUseAdmin y SchoolUseResults, a nivel de relaciones SchoolUseResult tiene una llave foranea de SchoolUseAdmin

2-He creado un formulario embebido, donde guardo los datos de SchoolUseAdmin y SchoolUseResults

El error esta que cuando cargo el formulario me desplega la informacion de ambas entidades, pero a la hora de guardar los datos que he introducido, me guarda todo bien de SchoolUseAdmin, pero los datos de SchoolUseResults me guarda solo el ultimo valor, y los demas me los ingnora, pongo el codigo de mi controller para que me puedan decir donde esta mi error o que solucion puedo dar
Código PHP:
$em $this->getDoctrine()->getManager('admission');
        
$resultsubjects = array();
        
$query $em->createQuery('SELECT a FROM ABCAdmissionBundle:SchoolUseSubject a');
    
$subjects $query->getResult();       
        
        foreach (
$subjects as $subject){
            
$materia $subject->getSubject(); 
            
$SchoolUseResultstmp = new SchoolUseResults();                
            
$f = new SchoolUseResultsType();
            
$f->setName('subjec_'.$subject->getId());
            
$form_subjectstmp $this->createForm($f$SchoolUseResultstmp);            
            
$form_subjectstmp->bind($request);
            
$SchoolUseResultstmp->setSubject($subject);
            
array_push($resultsubjects,$SchoolUseResultstmp);
            
$form_subjects[$materia] = $form_subjectstmp->createView();
            } 
            
        
$entity = new SchoolUseAdmin();
        
$entity->setCreatedDate(new DateTime());
          
        
$form $this->createCreateForm($entity);
        
$form->handleRequest($request);
        
$tribu $form['tribeAsigned']->getData();
        
$grade $form['gradeAsigned']->getData();
        
$entity->setTribeAsigned($tribu->getName());
        
$entity->setGradeAsigned($grade->getName());        
        
$applicant=$entity->getApplicant()->getId();
        
$entity->getApplicant($applicant);
        
        if (
$form->isValid()) {
            
$em->persist($entity);
            
$em->flush();
            
        foreach( 
$resultsubjects as  $subject )
            {                    
                
$subject->setSchoolresult($entity);
                
$em->persist($subject);
                
$em->flush();
            } 
En la parte del foreach ultimo es donde persisto los datos, para mi caso son 4, deberia de guardar asi de ejemplo, Result(6,7,8,9), pero solo guarda el ultimo valor 4 veces Result (9,9,9,9)
  #2 (permalink)  
Antiguo 29/01/2014, 12:43
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Error de Persistencia con formularios Embebidos

Es muy dificil determinas nada mas con la accion del controlador que es lo que pueda estar pasando te remito a la documentación: http://symfony.com/doc/current/cookb...llections.html
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: embebidos, formularios, persistencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:20.