![](/img/trans.png)
[英]SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value
[英]SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'true' for column 'isVisible'
我正在使用 FormData object 将数据发送到我的 laravel 后端,问题是我有一个复选框输入,这给我带来了麻烦,我的后端记录了以下错误消息:
SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect integer value: 'true' for column 'isVisible' ...
在我的迁移中,isVisible 字段被声明为 boolean:
$table->boolean('isVisible')->default(false);
如果我侵入有效负载并发送 1 而不是 'true' 或 0 而不是 'false' 我的帖子条目将成功创建。
知道如何解决这个问题吗?
在数据库之前发送这个
$isVisible === true || strtolower($isVisible) == 'true'
Laravel 对此有一个很好的解决方案:
$model->is_visible = $request->has('isVisible');
(如果未选中该复选框,它将不会出现在 $request 包中,因此“有”function 将 output 为 false。如果选中,则返回 true(作为布尔值)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.