【发布时间】:2020-05-20 18:31:11
【问题描述】:
我正在将带有 FormData 对象的数据发送到我的 laravel 后端,问题是我有一个复选框输入,这给我带来了麻烦,我的后端记录了以下错误消息:
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'true' for column 'isVisible' ...
在我的迁移中 isVisible 字段被声明为布尔值:
$table->boolean('isVisible')->default(false);
如果我侵入有效负载并发送 1 而不是 'true' 或 0 而不是 'false' 我的帖子条目将成功创建。
知道如何解决这个问题吗?
【问题讨论】:
-
将值发送为 1 或 0 或在控制器中更改它,然后再保存到 DB。
-
或使用
TRUE/FALSE不带引号。通过引用这些值,您将它们作为布尔值作为字符串发送。 -
请查看您的数据库表。
isVisible的数据类型应为tinyint,长度为1,默认值为0。现在您可以使用TRUE或FALSE甚至1或0来存储这些值,而无需引用。