加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql – Laravel 4.2 BIT数据类型问题

发布时间:2021-03-06 10:14:16 所属栏目:MySql教程 来源:网络整理
导读:数据库表中有一个(1)类型的列.但它不像我预期的那样工作. 问题是 $invitee = new Invitee();$invitee-name = "name1";$invitee-email = "example@mail.com";$invitee-isActive = 0; // "b'0'",'0',false,are also not working$invitee-save(); 我需要在isA

数据库表中有一个(1)类型的列.但它不像我预期的那样工作.

问题是

$invitee = new Invitee();
$invitee->name = "name1";
$invitee->email = "example@mail.com";
$invitee->isActive = 0;    // "b'0'",'0',false,are also not working
$invitee->save();

我需要在isActive列中放置一个0,但每当我尝试添加一个0的记录时,它的值为1.

我在here.发现了一个问题.但答案并没有描述问题的原因.很高兴,如果有人能解释这个问题. 最佳答案 具有位类型字段意味着无论何时插入/更新该字段,都需要使用原始值作为变通方法.

那是因为PDO默认会绑定这些值,它们将被视为字符串,因此bit将导致1:

DB::table('table')->insert(['bit_field' => 0]); // inserts 1
DB::table('table')->insert(['bit_field' => DB::raw(0)]); // inserts 0

如果可以的话,我建议将其改为tinyint.

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读