【发布时间】:2020-02-26 19:09:32
【问题描述】:
我有一个启用了数据类型 bit(1) 的列。我正在尝试通过 Laravel eloquent 在数据库中保存 0 或 1 个值。
$model->enabled = $inputs['enabled'];
$model->save();
我已经在我的配置文件中保存了值。
'enabled' => [
'0' => 'No',
'1' => 'Yes',
],
但是当我试图将这些值保存在数据库中时。我遇到了类似的错误,
SQLSTATE[22001]:字符串数据,右截断:1406 对于第 1 行“启用”列的数据太长
当我在 mysql phpmyadmin 中运行查询时,它正确地保存了数据库中的数据。
但是通过 eloquent 运行这个查询,它会产生错误。
【问题讨论】:
-
看来您正在保存数据''否','是',即不是0或1的字符串
-
通过做 var_dump($inputs['enabled']);它向我显示 0 或 1。它在 save() 上产生错误;
-
这能回答你的问题吗? Laravel 4.2 BIT datatype issue