2016-12-06 2 views
1

Larael Multiple Data Insert FehlerSQLSTATE [22007]: Ungültige Datetime-Format: 1366 Falscher Integer-Wert: 'column_name' in Laravel

SQLSTATE [22007]: Ungültige Datetime-Format: 1366 Falscher Integer-Wert: '' für Spalte 'Einheit_ID' in Zeile 2 (SQL: Einfügen in product_prices (created_at, product_id, unit_id, updated_at) Werte (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))

Aber mein unit_id Feld in nullable(); Bitte jemand helfen mir Hier column_name=unit_id

+0

Ihre PHP-Code enthalten. – Beginner

Antwort

0

null ist anders als nicht existent. Wenn Sie null als Wert einstellen wollen, müssen Sie es in Ihrer Abfrage schreiben:

... ('2016-12-06 06:56:01',27, null, '2016-12-06 06:56:01')) 

Auch das Datums-Zeitformat ist falsch. Sie müssen es als Zeichenfolge eingeben.

+1

Verwendung null aber gleicher Fehler –

+0

i versuchen, mit null einzufügen, aber es Automatik des Rohling oder leer gleicher Fehler SQLSTATE [22007]: Ungültige Datumzeit-Format: 1366 Falscher ganzzahliger Wert: ‚‘ für Spalte ‚unit_id in Zeile‘ 2 (SQL: in die Werte product_prices (created_at, product_id, unit_id, updated_at) einfügen (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)) –

+0

@ Al-Amin können Sie die Anweisung create table bitte – Jens

0

Sie verwenden unit_id, wenn es mit Einheiten referenziert wird (id)?. Sie sind ein leerer Wert für einen foregin Schlüssel column.use null und nicht ''

insert into product_prices (created_at, product_id, unit_id, updated_at) 
    values (2016-12-06 06:56:01, 27, 1,2016-12-06 06:56:01), 
     (2016-12-06 06:56:01,27,null, 2016-12-06 06:56:01); 
+0

Verwenden Sie null aber gleichen Fehler –

+0

Überprüfen Sie, ob Sie einfügen alle Spalten in der Tabelle enthält oder ändern Sie die Abfrage und versuchen Sie es. Einfügen in product_prices (created_at, product_id, unit_id, updated_at) Werte (2016-12-06 06:56:01, 27, 1,2016-12-06 06:56:01); Einfügen in product_prices (created_at, product_id, unit_id, updated_at) Werte (2016-12-06 06: 56: 01,27, null, 2016-12-06 06:56:01); – Parithiban

0

Set 0 für unit_id vor Abfrage verwiesen inputing, wenn es null/leer. Siehe Beispiel:

if(!isset($unit_id) || empty($unit_id)) $unit_id = 0; 
. 
. 
//insert query rest code 
+0

Danke, so kann ich schon das Problem lösen, Aber das ist nicht wright Weg, Hoffentlich, wenn nay bessere Lösung bitte suggeriere mich –

0

hatte gerade das gleiche Problem und in meinem Fall war es ein dummer Fehler in meinem Controller.

Was ich tat, war ich das ganze Objekt, anstatt nur die ID zurückgegeben, etwa so:

public function store($id, Request $request) { 

    $post = Post::find($id); 

    $comment = new Comment; 
    $comment->text = $request->comment; 
    $comment->post_id = $post; <--- HERE IS THE MISTAKE 
    $comment->post_id = $post->id; <--- HERE IS THE FIX 
    $comment->user_id = Auth::id(); 

    $comment->save(); 

    return back(); 

    } 
Verwandte Themen