thinkphp笔记-数据集和代码提示

1145次阅读 95人点赞 作者: WuBin 发布时间: 2024-04-10 10:13:19
扫码到手机查看

代码提示和数据集

代码提示补全(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查询过滤数组中的元素

点赞 支持一下 觉得不错?客官您就稍微鼓励一下吧!
关键词:thinkphp
推荐阅读
  • uniapp实现被浏览器唤起的功能

    当用户打开h5链接时候,点击打开app若用户在已经安装过app的情况下直接打开app,若未安装过跳到应用市场下载安装这个功能在实现上主要分为两种场景,从普通浏览器唤醒以及从微信唤醒。

    9094次阅读 588人点赞 发布时间: 2022-12-14 16:34:53 立即查看
  • Vue

    盘点Vue2和Vue3的10种组件通信方式

    Vue中组件通信方式有很多,其中Vue2和Vue3实现起来也会有很多差异;本文将通过选项式API组合式API以及setup三种不同实现方式全面介绍Vue2和Vue3的组件通信方式。

    3845次阅读 287人点赞 发布时间: 2022-08-19 09:40:16 立即查看
  • JS

    几个高级前端常用的API

    推荐4个前端开发中常用的高端API,分别是MutationObserver、IntersectionObserver、getComputedstyle、getBoundingClientRect、requ...

    14071次阅读 914人点赞 发布时间: 2021-11-11 09:39:54 立即查看
  • PHP

    【正则】一些常用的正则表达式总结

    在日常开发中,正则表达式是非常有用的,正则表达式在每个语言中都是可以使用的,他就跟JSON一样,是通用的。了解一些常用的正则表达式,能大大提高你的工作效率。

    12908次阅读 442人点赞 发布时间: 2021-10-09 15:58:58 立即查看
  • 【中文】免费可商用字体下载与考证

    65款免费、可商用、无任何限制中文字体打包下载,这些字体都是经过长期验证,经得住市场考验的,让您规避被无良厂商起诉的风险。

    11469次阅读 920人点赞 发布时间: 2021-07-05 15:28:45 立即查看
  • Vue

    Vue3开发一个v-loading的自定义指令

    在vue3中实现一个自定义的指令,有助于我们简化开发,简化复用,通过一个指令的调用即可实现一些可高度复用的交互。

    15588次阅读 1244人点赞 发布时间: 2021-07-02 15:58:35 立即查看
  • JS

    关于手机上滚动穿透问题的解决

    当页面出现浮层的时候,滑动浮层的内容,正常情况下预期应该是浮层下边的内容不会滚动;然而事实并非如此。在PC上使用css即可解决,但是在手机端,情况就变的比较复杂,就需要禁止触摸事件才可以。

    14797次阅读 1205人点赞 发布时间: 2021-05-31 09:25:50 立即查看
  • Vue

    Vue+html2canvas截图空白的问题

    在使用vue做信网单页专题时,有海报生成的功能,这里推荐2个插件:一个是html2canvas,构造好DOM然后转canvas进行截图;另外使用vue-canvas-poster(这个截止到2021年3月...

    28950次阅读 2273人点赞 发布时间: 2021-03-02 09:04:51 立即查看
  • Vue

    vue-router4过度动画无效解决方案

    在初次使用vue3+vue-router4时候,先后遇到了过度动画transition进入和退出分别无效的情况,搜遍百度没没找到合适解决方法,包括vue-route4有一些API都进行了变化,以前的一些操...

    24982次阅读 1925人点赞 发布时间: 2021-02-23 13:37:20 立即查看
交流 收藏 目录