thinkphp6.0.12版本Collection类toArray方法隐性BUG

浏览:1827 发布日期:2022/02/02
5.0.0 - 严重 - 未处理
以left join方式(其它方式没有试)得到的数据,日期时间类型值会被toArray转换归零。其它类型又正常,通过表直接取得的数据(不是通过连接表取得)转换也正常。

数据库类型:mysql 8
字段类型:`create_time`、`update_time` 均为 datetime类型,`code` 为 varchar 类型。

1. 表连接语句
->leftJoin("{$bill}", "{$bill}.id = {$alias}.fk")
->field(["{$bill}.code", "{$bill}.create_time", "{$bill}.update_time"])

2. select直接得到的数据
"id" => 106
"fk" => 44
"code" => "PR2111200001" // 来自bill表正常
"create_time" => "2021-11-20 18:05:48" // 来自bill表正常
"update_time" => "2022-01-30 17:21:40" // 来自bill表正常

3. 通过toArray转换后得到的数据
"id" => 106
"fk" => 44
"code" => "PR2111200001" // toArray转换后正常
"create_time" => "1970-01-01 08:33:41" // toArray转换后被归零
"update_time" => "1970-01-01 08:33:42" // toArray转换后被归零
评论(
后面还有条评论,点击查看>>