SQLSTATE[23000] Column "ma_colonne" cannot be null

Problème

Il arrive parfois, d'avoir l'erreur suivante :

SQLSTATE[23000] Integrity constraint violation : 1048 Column "ma_colonne" cannot be null

Cette erreur intervient lors de l'envoi d'un formulaire d'ajout en base de données.

Solution possible

Le message d'erreur indique que la colonne "ma_colonne" de la table en question ne peut pas être "null" et donc que le champ "ma_colonne" n'est pas envoyé, si c'est le cas contraire vérifier bien ce que vous recevez dans votre controller, car cette valeur doit être en "null".

Pour résoudre ce problème, il y a deux possibilités :

1. Placer un nullable=true dans votre entité lorsque ce champ n'est pas demandé dans votre formulaire :

/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
private $ma_colonne;

2. Vérifier vos données reçues et n'oubliez pas le :

$ma_variable->setMaColonne('ma_valeur');

Toujours vérifier les données reçues et la structure de votre base de données ;-) !

SQLSTATE[23000] Column "ma_colonne" cannot be null
Article publié le

Catégories : Symfony FAQ

Mots-clés : Symfony

Partager : Partager sur Facebook Partager sur Twitter Partager sur LinkedIn