Laravel - SQL - SQLSTATE[01000]: Avertissement: 1265 Données tronquées pour la colonne "nsfw" à la ligne 1

J'essaie de sécurité certaines données dans ma base de données et obtenez l'erreur suivante:

SQLSTATE[01000]: Avertissement: 1265 Données tronquées pour la colonne "nsfw" à la ligne 1

Le nsfw colonne a une valeur 0 comme valeur standart. C'est mon tableau:

Laravel - SQL - SQLSTATE[01000]: Avertissement: 1265 Données tronquées pour la colonne

Le nsfw colonne est également dans les modèles $fillable tableau.

Je veux détecter si une case est cochée. Si elle est cochée, nsfw doit être de 1. Si elle ne l'est pas, nsfw doit être de 0.

C'est la case code HTML:

 <div class="form-group">
             <label for="nsfw" class="control-label">NSFW</label>
             <br>
             <input type="checkbox" name="nsfw">
  </div>

Et c'est le code du contrôleur:

 if (Input::get('nsfw')) {
       $nsfw = true;
 } else {
       $nsfw = false;
 }

 // dd($nsfw) gives me true or 
 //false back, depending if the checkbox is checked or not

 $thread = new Thread();
 $thread->name = Input::get('thread-name');
 $thread->description = Input::get('thread-desc');
 $thread->age_min = Input::get('thread-min-age');
 $thread->age_max = Input::get('thread-max-age');
 if ($nsfw == true) {
     $thread->nsfw = 1;
 } else {
     $thread->nsfw = 0;
 }
 $thread->save();

Merci pour votre aide et désolé pour mon mauvais anglais!

  • vous avez un enum et vous insérez une valeur n'est pas présent dans l'enum
  • mais les seules valeurs possibles sont 1 ou 0. Et c'est ce que je veux pousser dans le databse ou pas?
  • aller à config/database.php dans les connexions.mysql ensemble strict de faux, puis essayez de l'exécuter à nouveau, si u ai pas d'erreurs de vérifier si u ont les données insérées correctement
  • ok je l'ai fait et que le fil est sauvé. Mais dans la base de données de la valeur est Null. pas 0.
  • essayez de prendre de la valeur sur le code comme une chaîne de caractères $thread->nsfw = '1';
  • ah, ouais, fonctionne parfaitement! S'il vous plaît écrire une réponse, donc je peux voter pour la bonne réponse 🙂

InformationsquelleAutor dwdawdawdaw | 2017-07-10