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 | 截取数据中的一部分 |
相关文档
- 关键词排名查询渠道大揭秘!搜索引擎、第三方平台和SEO软件都能查
- 百度排名查询有多重要?关乎流量与曝光率,你知道吗?
- 虫虫博客群发功能虽操作简单,实际使用却状况百出
- 下载旺道SEO优化软件,界面丑功能差,老站长满心失落
- 惊删电脑重要文件?别怕!快照回档功能来救你
- 试用站优云:界面复古功能全,自动优化能否给网站带来改变?
- 乐云SEO排名软件:界面丑但功能实在,是SEOer偷懒工具?
- 网站诊断:评估性能,功能和用户体验
- 聊聊SEO领域的老古董工具seo808及其基本功能
- 交换朋友链接在在线营销中的重要性和功能
- 设计师在线房屋的概念:重要性,功能和见解
- 在Baidu上介绍十个强大的工具:功能和实际应用
- Win7优化大师官网全解析,功能亮点与安全下载指南,老用户必看技...
- 用了百度申请闭站功能后 出现问题
- 友链查询工具怎么选?三大避坑指南+实战测评
- 小旋风万能蜘蛛池x8.3免权如何实现永久使用?2025最新破解教...
- 小旋风万能蜘蛛池完美破版2025亲测可用?功能限制与安全风险全解...
- 小旋风万能蜘蛛池2025实:3大核心功能提升网站收录率90%
- 小旋风收音机如何免费听万+频道?2025最新版扫码租车功能实测
- 小旋风收音机2025破解版载安全吗?官方正版渠道推荐,破解与正版...
上一篇: Eyoucms程序开发:存储过程
下一篇: Eyoucms程序开发:分布式数据库