web-dev-qa-db-ja.com

SQLSTATE [22007]:無効な日時形式:1366不正な整数値: '= column = name' in Laravel

Larael複数データ挿入エラー

SQLSTATE [22007]:無効な日時形式:1366無効な整数値:行2の列 'unit_id'の ''(SQL:_product_prices_に挿入(_created_at_、_product_id_、_unit_id_、_updated_at_)値(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)))

しかし、nullable();の_unit_id_フィールドここで誰か助けてください_column_name=unit_id_

7
Al-Amin

nullは存在しない場合とは異なります。値としてnullを設定する場合は、クエリにnullを記述する必要があります。

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

また、日時の形式が間違っています。文字列として入力する必要があります。

2
Jens

null/emptyの場合、クエリの前にunit_idに0を設定します。例を参照してください:

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

Unit_idを使用していますが、units(id)で参照されていますか?参照されている列のキーに空の値を入力しています。''ではなくnullを使用してください

 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
Parithiban

ちょうど同じ問題があり、私の場合、それは私のコントローラーのばかげた間違いでした。

私がやったのは、次のように、idだけではなくオブジェクト全体を返しました:

  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();

  }
0
Kaloyan Drenski