Merci Lélio, j'ai trouvé une autre solution, avant la validation du formulaire, on peut modifier un champ comme ceci :
$size= $file->getSize(); $this->form->getObject()->setSize($size); //setSize() est l'accesseur pour mon champ size en base. $fichier = $form->save(); On 22 oct, 14:31, Lélio ML <[email protected]> wrote: > Justement, utilise le doUpdateObject(). Cela est le bon endroit (à mon avis) > pour faire ce que tu souhaites faire. > > -----Message d'origine----- > De : [email protected] [mailto:[email protected]] De la > part de jimpass > Envoyé : vendredi 22 octobre 2010 14:19 > À : Symfony-fr > Objet : [symfony-fr] Re: surcharge de la méthode save > > Merci Lélio, mais c'est bien dans un formulaire en fait. > > On 22 oct, 14:13, Lélio ML <[email protected]> wrote:> Pardon, si c'est > dans un formulaire... > > > -----Message d'origine----- > > De : [email protected] [mailto:[email protected]] > > De la part de Lélio ML Envoyé : vendredi 22 octobre 2010 14:12 À : > > [email protected] Objet : RE: [symfony-fr] surcharge de la > > méthode save > > > Si c'est dans un document, tu peux passer par la méthode > > doUpdateObject() qui a la responsabilité de fournir les données du > > formulaire à l'objet. > > > > > > > -----Message d'origine----- > > De : [email protected] [mailto:[email protected]] > > De la part de jimpass Envoyé : vendredi 22 octobre 2010 13:58 À : > > Symfony-fr Objet > > : [symfony-fr] surcharge de la méthode save > > > Bonjour, > > J'ai créé un champ "size" dans mon modèle pour la gestion de fichiers. > > Je souhaiterais donc renseigner ce champ automatiquement en > > surchargeant la méthode save() j'ai donc dans mon action cette ligne : > > $size= $file->getSize(); > > Pas de problème, la taille du fichier est récupérée. > > > Voici ma méthode save() surchargée : > > public function save(Doctrine_Connection $conn = null) > > { > > if ($this->isNew()) > > { > > $this->setSize($size); > > } > > > return parent::save($conn); > > } > > J'ai testé pas mal d'options, en changeant le type du champ en base > > (string, int etc...) , mais rien à faire, la valeur n'est pas intégrée > > en base et je ne sais pas ou je commets l'erreur... > > > -- > > 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 > > -- > 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
