栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP > php开源框架 > thinkphp

数据集 - ThinkPHP5.0完全开发手册

thinkphp 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据集 - ThinkPHP5.0完全开发手册

|版本|功能调整| |---|---| |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', ]; ~~~ 返回的数据集对象是`thinkCollection`,提供了和数组无差别用法,并且另外封装了一些额外的方法。 可以直接使用数组的方式操作数据集对象,例如: ~~~ // 获取数据集 $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|截取数据中的一部分|
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/213507.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号