IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Problème sur les formulaires imbriqués


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 101
    Points
    101
    Par défaut Problème sur les formulaires imbriqués
    Bonjour, je souhaite faire des formulaires imbriqués pour une relation 1:n,
    avec une table hardware et une table reparation ci dessous mon schema.yml

    J'ai ajouté dans le hardwareForm.class.php le code suivant avec le bon alias mais je n'ai pas de formulaire imbriqué dans mon edit pourtant j'ai bien des données
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      public function configure()
      {
        $this->embedRelation('reparations');
      }
    schema.yml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    hardware:
      columns:
        idHardware:
          type: integer(4)
          primary: true
          unsigned: true
          notnull: true
          autoincrement: true
        serialNumber:
          type: string(45)
          unique: true
          notnull: true
      options:
        charset: utf8
        collate: utf8_unicode_ci
     
    reparation:
      columns:
        idReparation:
          type: integer(4)
          primary: true
          unsigned: true
          notnull: true
          autoincrement: true
        date:
          type: timestamp
          notnull: true
        problem:
          type: clob(65535)
          notnull: true
        hardware_idHardware:
          type: integer(4)
          unsigned: true
          notnull: true
      relations:
        hardwareIdHardware:
          class: hardware
          local: hardware_idHardware
          foreign: idHardware
          foreignAlias: reparations
      options:
        charset: utf8
        collate: utf8_general_ci
    merci pour votre aide

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 34
    Points
    34
    Par défaut
    Salut,
    Alors il faut savoir que embedRelation() ne va afficher que les relations déjà existantes entre tes 2 models.
    du coup pour "créer" de nouvelles relations il va falloir que tu génères un form à la main que tu vas embed(Form()) normalement.

    (Une fois que tu l'auras valider, il apparaitra dans la zone du "embedRelation()"

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 101
    Points
    101
    Par défaut
    il faut que je fasse comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public function configure()
    {
      $subForm = new sfForm();
      for ($i = 0; $i < 2; $i++)
      {
        $productPhoto = new ProductPhoto();
        $productPhoto->Product = $this->getObject();
     
        $form = new ProductPhotoForm($productPhoto);
     
        $subForm->embedForm($i, $form);
      }
      $this->embedForm('newPhotos', $subForm);
    }
    vu sur http://www.symfony-project.org/more-...Advanced-Forms

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 32
    Points : 34
    Points
    34
    Par défaut
    Voilà, c'est une façon plus précise d'expliquer la chose.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 101
    Points
    101
    Par défaut
    j'ai ajouter le code précédent avec mon foreign alias et mes methodes mais j'ai l'erreur suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Couldn't call Doctrine_Core::set(), second argument should be an instance of Doctrine_Collection when setting one-to-many references.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 101
    Points
    101
    Par défaut
    je viens d'essayer le meme code sur une autre relation pour voir, et là ça marche trés bien donc c'est sur une table et un module en particulier, j'ai fait des modifs sur les templates puis configurer le generator ça peut venir de là?

    merci pour votre aide

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 267
    Points : 101
    Points
    101
    Par défaut
    c'est à cause de mon generator.yml car j'ai enlevé toutes les configs puis ça marche a part que mes formulaires sont vides si je fait éditer

Discussions similaires

  1. [2.x] Problème avec les formulaires imbriqués
    Par placide90 dans le forum Symfony
    Réponses: 1
    Dernier message: 04/04/2015, 10h41
  2. [2.x] question sur les formulaires imbriqués
    Par david42 dans le forum Symfony
    Réponses: 0
    Dernier message: 19/04/2012, 14h21
  3. Problème sur les formulaires hérités
    Par sylum dans le forum Windows Forms
    Réponses: 1
    Dernier message: 13/09/2010, 21h11
  4. [1.x] aide sur les formulaires imbriqués
    Par belgacem.tlili dans le forum Symfony
    Réponses: 9
    Dernier message: 16/03/2010, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo