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 avec formulaire imbriqué [2.x]


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Probléme avec formulaire imbriqué
    Bonjour ,

    Le schéma de ma base de données est le suivant :

    Classe Question en relation OneToMany avec la classe Réponse , cela veut dire que pour chaque question on a plusieurs réponses possibles .

    Je voudrais donc créer un formulaire imbriqué , qui permet d'ajouter une question et d'ajouter les réponses relatives à cette question en même temps .

    J'ai donc crée deux formulaires et imbriqué l'un dans l'autre à l'aide de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ->add('reponses', 'collection', array('type' => new ReponseType(),'allow_add' =>true,'allow_delete' =>true , 'prototype'=>true ) )
    que j'ai ajouté dans QuestionType

    An exception occurred while executing 'INSERT INTO Reponse (enonce_reponse, is_true, id_question) VALUES (?, ?, ?)' with params ["reponse-1", 1, null]:
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'id_question' cannot be null
    Cela veut dire que le champ id_question n'a pas été pris en compte dans l'ajout de la réponse , ce qui entrave la validation du formulaire.

    Si quelqu'un a déjà eu le même problème

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Une petite réponse svp je suis vraiment bloqué

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 29
    Points : 31
    Points
    31
    Par défaut
    Je suppose que tu as suivi la doc sur les formulaire imbriqués http://symfony.com/doc/current/cookb...llections.html

    Le problème peut venir du code JS qui ajoute les lignes de ta collection. Vérifié qu'il attribut bien un numéro à chaque ligne.

    Vérifie aussi la présence de cascade persist sur ton entité.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    C'est un problème de Inverse et owning side.
    Cela est expliqué dans la doc dans la section d'aide "Doctrine: Cascading Relations and saving the "Inverse" side".

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 98
    Points : 163
    Points
    163
    Par défaut
    Coucou, est-ce que tu peux montrer tes entités ?
    n'oublie pas de préciser un "by_reference" => false

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Sujet Résolu
    Merci beaucoup pour vos réponses , le problème était au niveau du setter dans Question :
    En effet , il fallait écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public function setReponses($reponses){
    		$this->reponses = $reponses;
    		foreach($reponses->toArray() as $reponse){
    			$reponse->setQuestion($this);
    		}
    	}
    Comme ça , chaque réponse va être ajoutée dans la base de données associée à la question correspondante

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DW8] problème avec formulaire
    Par scoupe1937 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 29/02/2008, 14h45
  2. Problème avec formulaire de suppression d'entrée
    Par mickado dans le forum Langage
    Réponses: 19
    Dernier message: 18/04/2007, 18h12
  3. [Conception] Problème avec formulaire
    Par snakejl dans le forum PHP & Base de données
    Réponses: 34
    Dernier message: 27/06/2006, 11h25
  4. problème avec formulaire et sous formulaire
    Par Lnjam dans le forum Access
    Réponses: 2
    Dernier message: 28/01/2006, 17h52
  5. problème avec formulaire et BDD
    Par pmboutteau dans le forum ASP
    Réponses: 1
    Dernier message: 24/08/2005, 10h56

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