2016-10-21 12 views
0

モデルを保存または更新しようとすると、spid_idフィールドに次のようなエラーが表示されます。何が間違っているのか分かりません。Laravel - 一般的なエラー:1366不適切な整数値

 Schema::create('magazines', function (Blueprint $table) { 
      $table->increments('id'); 
      $table->string('name'); 
      $table->string('visual_id')->nullable(); 
      $table->integer('spid_id')->nullable(); 
      $table->timestamps(); 
     }); 

私はそれが理由かもしれないと思ったので、私は、移行を行うことで、DBにはNULL可能ではないし、私のspid_idを変更しようとしました::

General error: 1366 Incorrect integer value: '' for column 'spid_id' at row 1 (SQL: update magazines set spid_id = , updated_at = 2016-10-21 08:28:46, summary = where id = 8)

は、これは私のテーブルがどのように見えるかです

 Schema::table('magazines', function (Blueprint $table) { 
      $table->integer('spid_id')->change(); 
     }); 

しかし、フィールドはまだNULLのままです。

これは、作成フォームの私の店の機能である:あなたはそれを保存する前にspid_idリクエストに存在してチェックする必要があり

 $magazine = Magazine::create([ 
      'name' => $request->input('name'), 
      'visio_link_prefix' => $request->input('visio_link_prefix'), 
      'spid_id' => $request->input('spid_id'), 
      'summary' => $request->input('summary'), 
     ]); 
+0

Laravelで更新する場所を教えてください –

+0

値が空白の場合は、キーを設定しないでください。データを整数( '' ')なしで保存しようとします。または、値の前後に引用符を追加するか、配列をフィルタリングします。 –

+0

エラーが発生した場所でコードを投稿してください。コードの更新や保存は? – boroboris

答えて

0

。あなたのケースでは例えば、それ意志は次のようになります。

'spid_id' => $request->has('spid_id') ? $request->input('spid_id') : NULL, 
0

これは、それが自動的にNULLまたはデフォルト値を割り当てることを確認します雄弁オブジェクト

$magazine = new Magazine 
    $magazine->name = $request->input('name'); 
    $magazine->visio_link_prefix = $request->input('visio_link_prefix') 
    $magazine->spid_id = $request->input('spid_id', null); 
    $magazine->summary = $request->input('summary'); 
    $magazine->save(); 

を使用して別のレコードを作成する方法であるあなたがかもしれませんあなたのモデルで指定されています。

関連する問題