Bonjour,

je rencontre un problème aujourd'hui à la sauvegarde d'un formulaire
imbriquant deux traductions.

# Le contexte :
symfony : 1.3.0-DEV
php: 5.2.6-3ubuntu4.2
SERVER_SOFTWARE: 'Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.2 with
Suhosin-Patch'
os: 'Linux tux 2.6.28-16-generic #55-Ubuntu SMP Tue Oct 20 19:48:24
UTC 2009 i686'

# Le message d'erreur obtenu :

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry
'4-fr' for key 1

# Ce qui ai soumis lors de la validation du formulaire (et donné en
paramètre du bindAndSave) :

Array
(
    [en] => Array
        (
            [nom] => Nom_en
        )
    [fr] => Array
        (
            [nom] => Nom_fr
        )
    [id] => 4
)

# En fouillant dans le processus d'enregistrement je constate que mon
objet prend les valeurs suivante après le doUpdateObject
(sfFormDoctrine, ligne 129):

Array
(
    [id] => 4
    [created_at] => 2009-10-26 15:34:11
    [updated_at] => 2009-10-28 10:06:26
    [Translation] => Array
        (
            [en] => Array
                (
                    [id] => 4
                    [nom] =>
                    [lang] => en
                )
            [fr] => Array
                (
                    [id] => 4
                    [nom] =>
                    [lang] => fr
                )
            [fr_FR] => Array
                (
                    [id] => 4
                    [nom] =>
                    [lang] => fr_FR
                )
        )
)

Deux éléments sont surprenant :
1. L'apparition du fr_FR
2. Le fait qu'aucune traduction n'apparaisse

Je ne m'explique pas le pourquoi de ces deux constatations.

# La déclaration du formulaire :

classTotoForm extends BaseTotoForm
{
  public function configure()
  {
    $this->embedI18n(array('en', 'fr'));
  }
}

# La déclaration de mon objet dans le schema.yml :

Toto:
  actAs:
    Timestampable:
    I18n:
      fields: [nom]
  columns:
    nom: string(255)

---

Merci à tous pour votre aide.

Cordialement,
David BOUCHÉ

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" 
de Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/symfony-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à