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

Doctrine2 PHP Discussion :

Integrity constraint violation: 1048 Column 'abc' cannot be null


Sujet :

Doctrine2 PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut Integrity constraint violation: 1048 Column 'abc' cannot be null
    Salut,

    D'où peut provenir une erreur de ce type ?

    An exception has been thrown during the rendering of a template ("SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'abc' cannot be null") in "SiteMonBundleefault:index.html.twig" at line 9.

    Tous les champs de mon entity sont définis comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        /**
         * @ORM\Column(type="string",length="255")
         */    
        private $abc;
    et dans le fichier Abcform, les champs du formulaire sont comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ->add('Abc', 'text' , array(
    				'required' => false
    			))
    Lorsque je valide mon formulaire, il ne me dit pas de remplir le champ, c'est à l'enregistrement qu'il y a une erreur ! Ca me fait cette erreur pour chaque champ non rempli de mon entité...

    Merci pour votre aide !

  2. #2
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut
    Si je modifie ma bdd et que j'autorise à mettre NULL, ça fonctionne, mais moi je veux pas mettre NULL, je veux que la case reste vide...

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Dans ce cas pas le choix, la gestion du formulaire te renverra toujours null car le champs n'est pas rempli.

    La solution la plus simple c'est de mettre des valeurs par défaut dans ton entité par exemple.

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2004
    Messages : 318
    Points : 362
    Points
    362
    Par défaut
    Oui c'est un problème "connu" malheureusement.
    Faut le contourner comme le propose Tolriq

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 67
    Points : 45
    Points
    45
    Par défaut
    Bon c'est dommage... tant pis.

    Par contre modifier la base de donnée est une très mauvaise idée, puisque à chaque fois qu'on regénère les entités les modif sont effacées.

    Il faut ajouter nullable=true dans le fichier des entités


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         * @ORM\Column(type="string",length="255", nullable="true")
    Merci

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 2
    Points : 6
    Points
    6
    Par défaut
    vous devez allez voir dans l'appelle de la fonction et voir les attribues figurants dans cet appel, il y'a surement une faute car j'ai rencontré moi aussi le même problème.

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Mars 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    mehrez1919 a raison,

    J'ai rencontré la même erreur parce que ma fonction save($var1,$var2,$var3) avait 3 arguments alors que cette fonction attendait une variable nommée $var4 (date_inscription) en bindvalue PDO:aram_STR
    resultat => Catched exception at line 313 : SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'date_inscription' cannot be null

    Voilou

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/03/2013, 18h06
  2. Réponses: 2
    Dernier message: 11/11/2011, 19h25
  3. Réponses: 3
    Dernier message: 13/09/2011, 11h02
  4. Réponses: 2
    Dernier message: 14/08/2011, 14h25
  5. Réponses: 9
    Dernier message: 24/04/2011, 17h03

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