模型的某些方法某情况下无法正确写入int字段的值

浏览:587 发布日期:2016/04/14
3.2.3 - 普通 - 未处理
字段是这样的: `end_time` int(10) unsigned NOT NULL COMMENT '有效期时间戳',

正常来说int(10) unsigned 应该能保存0 至 4294967295的值,但模型封装的方法使用了intval处理,将超过2147483647的值处理为负数了。

ThinkPHP\Library\Think\Model.class.php
_parseType方法里的:
}elseif(false === strpos($fieldType,'bigint') && false !== strpos($fieldType,'int')) {
$data[$key] = intval($data[$key]);
评论(
后面还有条评论,点击查看>>