Alors tu peux faire ces traitements dans doUpdate() qui permet de contrôler
comment sont remplis les champs.

Mais sinon, ne devrais-tu pas embarquer les formulaires si tu traites
plusieurs Model (Table) dans ton formulaire ? Ce serait peut-être plus
propre, tu gèrerais mieux les doUpdate(). 

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de Cyril FLIELLER
Envoyé : jeudi 24 mars 2011 09:53
À : [email protected]
Objet : Re: [symfony-fr] [Form] function save()

Mais dans ce formulaire, je ne permets pas à l'utilisateur de tout remplir,
il y a des champs que je rempli au traitement du formulaire moi même.

Cyril FLIELLER




Le 24 mars 2011 09:48, alex baron <[email protected]> a écrit :


        Il vaut mieux utliser la méthode doSave. De plus si tes relations
sont bien déclarées et tes objets identifiés dans la config du formulaires,
symfony te fera la sauvegarde correctement.
        Alexandre Baron
        
        
        
        
        
        Le 24 mars 2011 09:32, Cyril FLIELLER <[email protected]> a
écrit :
        

                Je n'arrive pas à comprendre comme sauvegarder les données
d'un formulaire dans la database avec doctrine. Mon formulaire ne contient
pas que les informations d'une seule table, mais de plusieurs, je dois donc
traiter mes données afin de créer les (4) enregistrements :
                
                public function save($con = null){
                    try{
                      // ajout agent
                      $curAgent = new CcPerson();
                      $curAgent->setFirstname($this->values['firstname'])
                              ->setLastname($this->values['lastname'])
                              ->setGender($this->values['gender'])
                              ->setEmail($this->values['email'])
                              ->setArrivaldate($this->values['arrivaldate'])
        
->setDeparturedate($this->values['departuredate'])
                              ->save($con);
                
                      $curAgentId = $curAgent->getId();
                        
                      // member group
                      foreach($this->values['membergroup_list'] as
$curGroupId){
                        $curMG = new CcMemberGroup();
                        $curMG->setPersonId($curAgentId);
                        $curMG->setGroupId($curGroupId);
                        $curMG->save($con);
                        unset($curMG);
                      }
                
                      // solde congé
                      $congesCredit = new CcCredit();
        
$congesCredit->setYear($this->values['exerciceConges'])
                        ->setValue($this->values['creditConges'])
                        ->setPersonId($curAgentId)
                        ->setAbsencetypeId(1)
                        ->setCcomment("Arrivée au laboratoire")
                        ->setCreatedAt(date('Y'))
                        ->save($con);
                
                      // solde fractionnement
                      $fracCredit = new CcCredit();
        
$fracCredit->setYear($this->values['exerciceFractionnement'])
                        ->setValue($this->values['creditFractionnement'])
                        ->setPersonId($curAgentId)
                        ->setAbsencetypeId(2)
                        ->setCcomment("Arrivée au laboratoire")
                        ->setCreatedAt()
                        ->save($con);
                
                      $con->commit();
                    }
                    catch (Exception $e){
                      $con->rollBack();
                      throw $e;
                    }
                
                    return $curAgent;
                  }
                
                Mais j'ai des erreurs !
                
                
                Cyril FLIELLER
                
                

                

                -- 
                Vous recevez ce message, car vous êtes abonné au groupe
Google Groupes Symfony-fr.
                Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
                Pour vous désabonner de ce groupe, envoyez un e-mail à
l'adresse [email protected]
<mailto:symfony-fr%[email protected]> .
                Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
                


        

        -- 
        Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
        Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected]
<mailto:symfony-fr%[email protected]> .
        Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
        


--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à