SQLSTATE [22007]:无效的日期时间格式:1366错误的整数值:Laravel中的“ column_name”

Al-*_*min 7 php mysql pivot-table laravel laravel-5.3

Larael多数据插入错误

SQLSTATE [22007]:无效日期时间格式:1366不正确的整数值: ''列'UNIT_ID'在第2行(SQL:INSERT INTO product_pricescreated_atproduct_idunit_idupdated_at)的值(2016年12月6日6点56分01秒,27个,1 ,2016-12-06 06:56:01),(2016-12-06 06:56:01,27,,2016-12-06 06:56:01))

但是我unit_idnullable(); 请别人帮助我的领域column_name=unit_id

Jen*_*ens 8

首先,忽略不正确的“日期时间”部分。错误消息中似乎有一个错误。您关心的必须是实际类型(int)和实际列名称(unit_id)。

现在事情变得非常清楚了:虽然unit_id需要一个整数值,但您的代码提供了其他东西。你的情况是一个空字符串。

如果没有任何值,则必须提供null而不是空字符串,因此查询将如下所示

 ... ('2016-12-06 06:56:01',27, null, '2016-12-06 06:56:01'))
Run Code Online (Sandbox Code Playgroud)


Kal*_*ski 5

刚刚遇到了同样的问题,就我而言,这是我的控制器中的一个愚蠢的错误。

我所做的是返回整个对象,而不仅仅是 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();

  }
Run Code Online (Sandbox Code Playgroud)