thinkphp5数据集和模型关系的理解

数据集

tp5可以通过全局配置'resultset_type' => 'collection',来定义查询的结果集类型.
可选值有collection,array,默认值是array
需要注意的是
即使配置的结果集是数组,使用模型查询出来的数据也只有最外层是数组,数据列表中的每个元素仍旧是对象
(可使用collection()助手函数转换为对象结果集)
,使用Db::name('user')方法查询出来的结果集就是真正意义上的数组

获取器

获取器的基本配置官网手册已经讲的很详细了,这里我只将我遇到的问题
获取器并不是配置了就能不生效的,需要使用数据集的collection配置才能生效.
1.使用Db::name('user')这样查询数据无论怎么配置都无法使用获取器.
2.使用模型查询时配置的array的话需要使用模型查询出来的结果集使用助手函数collection()转换为对象后在调用toArray()方法使用获取器转换
3.使用模型查询并配置返回结果集为collection时直接对查询到的数据使用toArray()方法即可将所有数据全部使用获取器转换

使用paginate分页查询时无论如何配置结果都是collection,不受配置影响,但获取器仍然需要使用方法模型查询

你可能感兴趣的:(服务器,后台,thinkphp5)