【问题标题】:SQLSTATE[22007]: Invalid datetime format: 1366 in laravelSQLSTATE [22007]:无效的日期时间格式:laravel 中的 1366
【发布时间】:2017-11-04 09:06:58
【问题描述】:

我是 laravel 的新手,我正在尝试将数据插入数据库,但出现此错误

这是我的表格,它没有日期字段

控制器和插入代码

public function save_data(Request $request){

$data= $request->all();
$name=$data['name'];
$insert=array('name'=>$name);
DB::table('data')->insert($insert);
}

【问题讨论】:

  • 您将名称存储在int(11)类型中

标签: php laravel laravel-5.3 php-7


【解决方案1】:

您的name 列的类型为int(11)。它需要一个整数,而不是字符串 (VARCHAR)。将您的列类型(最好使用migration)从int(11) 更改为VARCHAR

【讨论】:

  • 在他的表迁移中,他可能希望将其更改为 $table->string('name');,这应该会在表列中产生该结果。
  • 是的,但请注意这是更新现有表的迁移,因此应该是:$table->string('name')->change();。否则他会得到一个错误提示:column "name" already exists on this table.
猜你喜欢
  • 2021-02-14
  • 2021-07-23
  • 2022-06-20
  • 1970-01-01
  • 2021-04-21
  • 2021-08-22
  • 2021-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多