### 2018 年 11 月 30 日 发布 ThinkPHP `V5.1.30`(LTS)版本发布,该版本为常规更新,改进了一些细节,修正了一些社区反馈的问题,支持上一版本的无缝升级(LTS版本不会再有任何的不兼容更新)。 ## 主要更新 ### 支持时间字段的微秒数据写入 如果你的时间字段使用的是`datetime`/`timestamp`类型的话,现在可以支持写入微秒数据,具体精度取决于你的时间字段设置的小数位。默认情况下,时间字段的输出不会显示微秒数据,如果需要显示,请设置模型的`dateFormat`属性或者数据库的datetime_format配置参数为: ``` 'datetime_format' => 'Y-m-d H:i:s.u' ``` ### 改进`getRealSql`方法 改进`getRealSql`方法对浮点型数据的显示支持。 ### 改进聚合查询的字段参数 聚合查询的`field`参数现在可以支持使用`Expression`对象传入,用于支持使用SQL函数进行查询。 ### 自定义验证规则的改进 如果使用了`extend`方法注册了扩展验证规则的话,将会始终进行验证,而无论是否设置了`require`验证规则。 对于没有注册扩展验证的验证器自定义规则,如果规则的方法名以`require`开头也一样会进行验证而不需要添加`require`验证规则。 ### 路由的`getName`方法支持请求类型 使用`Route::getName() `方法获取路由规则的时候支持请求类型过滤。 ### 修复了一些已知的问题 修正了社区反馈的一些问题 ## 更新日志 * 改进查询类的`execute`方法 * 判断路由规则定义添加对请求类型的判断 * 修复`orderRaw`异常 * 修正 `optimize:autoload`指令 * 改进软删除的`destroy`方法造成重复执行事件的问题 * 改进验证类对扩展验证规则 始终验证 不管是否`require` * 修复自定义验证`remove`所有规则的异常 * 改进时间字段的自动写入支持微秒数据 * 改进`Connection`类的`getrealsql`方法 * 修正`https`地址的URL生成 * 修复 `array_walk_recursive` 在低于PHP7.1消耗内部指针问题 * 改进手动参数绑定使用 * 改进聚合查询方法的`field`参数支持`Expression`