Eyoucms程序开发:数据集
| 版本 | 功能调整 |
|---|---|
| 5.0.5 | 原生查询不支持返回数据集对象 |
数据库的查询结果也就是数据集,默认的配置下,数据集的类型是一个二维数组,我们可以配置成数据集类,就可以支持对数据集更多的对象化操作,需要使用数据集类功能,可以配置数据库的resultset_type参数如下:
return [
// 数据库类型
'type' => 'mysql',
// 数据库连接DSN配置
'dsn' => '',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'ThinkPHP',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => '',
// 数据库连接端口
'hostport' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => 'think_',
// 数据集返回类型
'resultset_type' => '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 | 在数据开头插入一个元素 |
| reduce | 通过使用用户自定义函数,以字符串返回数组 |
| reverse | 数据倒序重排 |
| chunk | 数据分隔为多个数据块 |
| each | 给数据的每个元素执行回调 |
| filter | 用回调函数过滤数据中的元素 |
| column | 返回数据中的指定列 |
| sort | 对数据排序 |
| shuffle | 将数据打乱 |
| slice | 截取数据中的一部分 |
相关文档
- 百度、搜狗停用快照,这一功能曾被不法者用于网络犯罪
- 洞悉大数据准确营销内涵,实现多样化传播效果
- 掌握大数据,准确营销可以做好吗?
- 2019年电子商务seo业绩翻倍的实现方法就是利用大数据分析用户...
- 从六个关键词了解准确大数据数字营销
- 搜索引擎优化过程中需要的四种数据分析能力
- 网站运营中的数据分析都有什么专业名词
- 舆情监测软件的普及对于大数据分析有哪些帮助?
- 全站搜索功能,迅睿框架全站内容搜索
- 搜狗站长工具怎么用?SEO优化功能全解析
- 外链查询工具哪家强?新手避坑指南_2024免费神器推荐
- 大数据营销推广精准粉怎么玩?2025年精准引流实战指南
- 友链查询_友链交换技巧有哪些?
- 安卓优化大师hd功能具体能做什么如何使用效果最好?
- 华夏seo软件使用教程:新手如何快速掌握核心功能?
- 南京丁丁地图公交查询怎么用?丁丁地图生活服务功能有哪些?
- 文章采集软件_免费文章采集器哪个好
- SEO伴侣怎么用竞争分析功能新手快速上手教程
- 丁丁网南京公交查询秘籍|3招解决路线规划难题
- seocnm软件怎么用?新手3天掌握核心功能省时50%
上一篇: Eyoucms程序开发:存储过程
下一篇: Eyoucms程序开发:分布式数据库

