SQLSTATE[22007]: Invalid format datetime: 1366 Incorrect entier valeur: "column_name" dans Laravel
Larael De Multiples Données D'Erreur D'Insertion
SQLSTATE[22007]: Invalid format datetime: 1366 Incorrecte valeur entière: "pour la colonne 'unit_id' à la ligne 2 (SQL: insert into
product_prices
(created_at
,product_id
,unit_id
,updated_at
) les valeurs (2016-12-06 06:56:01, 27, 1,2016-12-06 06:56:01), (2016-12-06 06:56:01,27, , 2016-12-06 06:56:01))
Mais mon unit_id
champ dans nullable();
Svp quelqu'un peut m'aider
Ici column_name=unit_id
- inclure votre code php.
- Il suffit de coller votre SQL structure, j'ai eu un problème similaire, je viens de créer le champ titre comme un int dans db, mon mauvais
Vous devez vous connecter pour publier un commentaire.
null est différent que de ne pas existend. Si vous souhaitez définir la valeur null, vous devez écrire dans votre requête:
Également le format datetime est faux. Vous devez le saisir comme une chaîne de caractères.
public function up() { Schema::create('product_prices', function (Blueprint $table) { $table->increments('id'); $table->integer('product_id')->unsigned(); $table->integer('unit_id')->unsigned()->nullable(); $table->integer('price'); $table->timestamps(); $table->foreign('product_id')->references('id')->on('products')->onDelete('restrict'); $table->foreign('unit_id')->references('id')->on('units')->onDelete('restrict'); }); }
Juste eu le même problème et dans mon cas c'était une bête erreur dans mon contrôleur.
Ce que j'ai fait j'ai retourné l'ensemble de l'objet au lieu de l'id, comme suit:
Vous utilisez unit_id est-il référencé avec des unités(
id
) ?. Vous êtes à l'entrée d'une valeur vide pour un étrangers ont la clé de la colonne référencée.utilisation null et pas "0 pour
unit_id
avant de requête, si elle null/vide. Voir l'exemple: