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

 PHP Discussion :

[symfony][Doctrine][sfWidgetFormSelect] Problème de violation de la base de donnés


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Par défaut [symfony][Doctrine][sfWidgetFormSelect] Problème de violation de la base de donnés
    Bonjour à tous,

    Voilà mon problème, j'ai une base de donnée qui comporte une table 'Picture' et une table 'Person', et l' "author" d'une 'Picture' pointe vers l' "id" d'une 'Person'.

    Dans mon formulaire pour créer une nouvelle 'Picture j'ai fait, pour résumer mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $this->form = new sfForm();
    $this->form->setWidgets(array(
        'author'	=> new sfWidgetFormInputText(array('label'=>'photographe'))
    ));
    $this->form->setValidators(array(
        'author'		=> new sfValidatorString()
    ));
     
    $this->form->getWidgetSchema()->setNameFormat('photo[%s]');
    Ici, lorsque je tape "PMP" dans la balise InputText, je n'ai aucun problème (PMP est un 'id' qui est déjà dans la base de donnée)

    Mais que je fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $this->form = new sfForm();
    $this->form->setWidgets(array(
        'author'		=> new sfWidgetFormSelect(array('choices'=>array('PMP')))
    ));
    $this->form->setValidators(array(
        'author'		=> new sfValidatorString()
    ));
     
    $this->form->getWidgetSchema()->setNameFormat('photo[%s]');
    ça ne marche pas lorsque je sélectionne l'unique choix que j'ai. Pourtant il s'agit normalement de "PMP" tout comme dans le premier cas.

    L'erreur est :
    Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`optd3_phototheque`.`picture`, CONSTRAINT `picture_ibfk_2` FOREIGN KEY (`author`) REFERENCES `person` (`id`) ON DELETE NO ACTION ON UPDATE CASCADE)

    (En fait, j'utilise symfony 1.4)

    Merci d'avance

  2. #2
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Bonjour,
    Tout d'abord ce que tu fait doit être fait dans le fichier form qui correspond à tes besoins donc soit Picture, soit Person.
    Ca te permet de réutiliser le formulaire si tu en as besoin mais aussi enregistrer directement les données en base car ils hérites des classes doctrine ou propel.

    Je ne sais pas pourquoi mais j'ai jamais réussit à faire fonctionné sfWidgetFormSelect. Je n'utilise que sfWidgetFormChoice et dedans il faut que tu passes un tableau associatif id => nom.

    Le validator doit être le meme mais basé que sur les id.

Discussions similaires

  1. Problème d'execution de module bases de données
    Par mekdar dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/10/2005, 17h29
  2. Réponses: 6
    Dernier message: 20/09/2005, 22h28
  3. [Hibernate] problème d'insertion dans la base de données
    Par Willy7901 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/08/2005, 13h19
  4. problème de recherche dans une base de données
    Par bouzid_mehdi dans le forum Bases de données
    Réponses: 2
    Dernier message: 19/07/2005, 06h47
  5. Problème de mise à jour de base de données
    Par poirier dans le forum ASP
    Réponses: 2
    Dernier message: 26/05/2004, 11h38

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