【发布时间】:2018-06-24 12:28:35
【问题描述】:
我收到此错误:
SQLSTATE[22007]:无效的日期时间格式:1366 不正确的字符串值:第 1 行的列“column-name”的“\xBD Inch...”
我的数据库、表和列的格式为 utf8mb4_unicode_ci,列名的类型为 text 和 NULL。
这是列名的值
[column-name] => 11 ▒ 之前的一些文本以及之后和之后的其他文本。
但是我等待 laravel 为列的值添加引号,因为这些值由逗号 (,) 分隔。应该是这样的:
[column-name] => '11 ▒ 之前的一些文本和之后和之后的其他文本。'
请参阅下面的架构
Schema::create('mws_orders', function (Blueprint $table) {
$table->string('custom-id');
$table->string('name');
$table->string('description')->nullable();
$table->string('comment')->nullable();
$table->integer('count')->nullable();
$table->text('column-name')->nullable();
$table->timestamps();
$table->primary('custom-id');
});
我一直在谷歌上寻找,但还没有任何解决方案。
有人知道如何解决这个问题吗?
我正在使用 Laravel 5.5 和 MariaDB 10.2.11。
【问题讨论】:
-
看起来该列应该是日期时间格式,而不是字符串。检查您的架构。
-
问题看起来像其他的,Laravel 没有用引号括起来。我的字符串中有逗号。插入错误用反引号显示列的名称,但列的值没有引号。
-
Laravel 使用参数绑定,它不引用值。显示您的数据库架构和您正在使用的确切代码。
-
我正在使用我的模型实例插入 $myModel = new MyModel(); $myModel->插入($data);当您谈论架构时,您指的是迁移吗?
标签: php mysql laravel mariadb laravel-5.5