thinkphp笔记-数据集和代码提示
代码提示和数据集
代码提示补全(phpstorm中)
手动补全代码提示的方法:
https://www.bilibili.com/video/BV12E411y7u8?p=20&vd_source=1f21d9ebff6d1276c8c078b52f10b41d
1. 一般来说,代码提示是通过注释来告知编辑器自动补全方法等;
2. 对比一下,5.1 的类库,发现6.x 的类库没有写注释;
3. 就拿Db 类来说,只要把5.1 的注释覆盖到6.x 即可实现代码提示;
4. 当然,是否精确,需要一一对比这些方法和参数,但绝大多数是相同的;
5. 找到Db 类,看它的注释:@see 指向的是谁,是:DbManager 类;
6. 然后将5.1 的Db 类注释,复制给DbManager 类即可,以后其它的雷同操作;
数据集
所谓数据集,是当查询后的结果集,它是think\Collection 类型和数组一样,下面是获取数据集的例子:
$user = Db::name('user')->select();
dump($user);
这里获得的结果$user就是数据集。它有很多方法,我们会在文末列出,先看几个典型的方法。比如:
将数据集$user转化未数组:
dump($user->toArray());
将数据集随机打乱
dump($user->shuffle());
删掉数据中最后一个元素
// 返回值为被删除的数据
dump($user->pop());
使用whereIn 查询结果集
dump($user->whereIn('id', [19,20,21]));
更多的方法可以在此文件中查看所有支持的方法和参数:
\vendor\topthink\think-helper\src\Collection.php
注意:这里的方法关键字某些和数据库查询类似,但它是数据集操作的方法;
以下是tp6用的比较多的数据集操作方法:
isEmpty | 是否为空 |
---|---|
toArray | 转换为数组 |
all | 所有数据 |
merge | 合并其它数据 |
diff | 比较数组,返回差集 |
fip | 交换数据中的键和值 |
intersect | 比较数组,返回交集 |
keys | 返回数据中的所有键名 |
poP | 删除数据中的最后一个元素 |
shift | 删除数据中的第一个元素 |
unshift | 在数据开头插入一个元素 |
push | 在结尾插入一个元素 |
reduce | 通过使用用户自定义函数,以字符串返回数组 |
reverse | 数据倒序重排 |
chunk | 数据分隔为多个数据块 |
each | 给数据的每个元素执行回调 |
flter | 用回调函数过滤数据中的元素 |
column | 返回数据中的指定列 |
sort | 对数据排序 |
order | 指定字段排序 |
shuffle | 将数据打乱 |
slice | 截取数据中的一部分 |
map | 用回调函数处理数组中的元系 |
where | 根据字段条件过滤数组中的元素 |
whereLike | Like查询过滤元素 |
whereNotLike | Not Like过滤元素 |
whereIn | IN查询过滤数组中的元素 |
whereNotIn | Not IN查询过滤数组中的元素 |
whereBetween | Between查询过滤数组中的元素 |
whereNotBetween | Not Between查询过滤数组中的元素 |