数据库的查询结果默认返回数据集对象。
// 获取数据集$users = Db::name('user')->select();// 遍历数据集foreach($users as $user){    echo $user['name'];    echo $user['id'];}返回的数据集对象是think\Collection,提供了和数组无差别用法,并且另外封装了一些额外的方法。
在模型中进行数据集查询,全部返回数据集对象,但使用的是
think\model\Collection类(继承think\Collection),但用法是一致的。
可以直接使用数组的方式操作数据集对象,例如:
// 获取数据集$users = Db::name('user')->select();// 直接操作第一个元素$item  = $users[0];// 获取数据集记录数$count = count($users);// 遍历数据集foreach($users as $user){    echo $user['name'];    echo $user['id'];}需要注意的是,如果要判断数据集是否为空,不能直接使用empty判断,而必须使用数据集对象的isEmpty方法判断,例如:
$users = Db::name('user')->select();if($users->isEmpty()){    echo '数据集为空';}Collection类包含了下列主要方法:
| 方法 | 描述 | 
|---|---|
| isEmpty | 是否为空 | 
| toArray | 转换为数组 | 
| all | 所有数据 | 
| merge | 合并其它数据 | 
| diff | 比较数组,返回差集 | 
| flip | 交换数据中的键和值 | 
| intersect | 比较数组,返回交集 | 
| keys | 返回数据中的所有键名 | 
| pop | 删除数据中的最后一个元素 | 
| shift | 删除数据中的第一个元素 | 
| unshift | 在数据开头插入一个元素 | 
| push | 在结尾插入一个元素 | 
| reduce | 通过使用用户自定义函数,以字符串返回数组 | 
| reverse | 数据倒序重排 | 
| chunk | 数据分隔为多个数据块 | 
| each | 给数据的每个元素执行回调 | 
| filter | 用回调函数过滤数据中的元素 | 
| column | 返回数据中的指定列 | 
| sort | 对数据排序 | 
| order | 指定字段排序 | 
| shuffle | 将数据打乱 | 
| slice | 截取数据中的一部分 | 
| map | 用回调函数处理数组中的元素 | 
| where | 根据字段条件过滤数组中的元素 | 
| whereLike | Like查询过滤元素 | 
| whereNotLike | Not Like过滤元素 | 
| whereIn | IN查询过滤数组中的元素 | 
| whereNotIn | Not IN查询过滤数组中的元素 | 
| whereBetween | Between查询过滤数组中的元素 | 
| whereNotBetween | Not Between查询过滤数组中的元素 |