当前位置: 首页 > java >正文

thinkphp8提升之查询

随着前端技术的发展,页面功能纷繁复杂,再加上功能需求的不断迭代,所以对数据查询的方式要求也就越来越多。那么thinkphp8有什么查询方式呢?

  • 字符串拼接

再where中将多个条件以字符串的形式拼接再一起进行查询,这种方式的优点是熟悉mysql的人员可以不用考虑thinkphp的语法,能够快速拼接

$user = db('user')->where('username="user" and type=0')->select();

二.多where查询

Where(字段,”条件”,值)的形式查询,这种少量的条件还是可以的,如果多了,那么代码中就全是where了

$user = db('user')->where("username","user")->where('type',"=",0)->select();

三.一维数组参数查询

Where条件里面是一个数组,局限也很明显,只能是键值对的形式

$user = db('user')->where(["username"=>"user",'type'=>0])->select();

四.二维数组的查询

可以使用like、大于、小于等条件进行查询

$where = [['username','like','%u%'],['type','<',1]];

$user = db('user')->where($where)->select();

五.Whereor的用法

1)、直接的whereor就等同于where(不推荐)

$user = db('user')->whereor('type',0)->select();

等同于

$user = db('user')->where('type',0)->select();

2)、一个where、一/多个whereor,查询条件一个成立就可以了

$user = db('user')->where('username','admin')->whereor('type',0)->select();

3)、多个where、多个whereor(不推荐)

就等同于多个where的条件同时成立再与whereor的条件取或者。

即(where1 and where2 and where3...)or whereor1 or whereor1

$user = db('user')->where('username','admin')->whereor('type',0)->where('id','>',9)->select();

六.Wherelike 、wherebetween、wherein、whereNull、whereTime等快捷查询

//模糊查询

$user = db('user')->whereLike('username','%a%')->select();

//两者直接最小值+逗号+最大值

$user = db('user')->wherebetween('type','1,2')->select();

//再什么里面多个值用逗号分割

$user = db('user')->wherein('type','0,1,2')->select();

//查询字段是null

$user = db('user')->wherenull('username')->select();

//时间查询,时间戳、日期等

$user = db('user')->wheretime('type','>',0)->select();

七.原生查询

使用think\facade\Db;Db::query(‘sql条件’)

Db::query('select * from tp_user');

http://www.xdnf.cn/news/14154.html

相关文章:

  • Nature Machine Intelligence 北京通研院朱松纯团队开发视触觉传感仿人灵巧手,实现类人自适应抓取
  • 开心灿烂go开发面试题
  • 如何自动化测试 DependencyMatcher 规则效果(CI/CD 集成最佳实践)
  • 免费OCPP协议测试工具
  • FreeRTOS定时器
  • C++/OpenCV地砖识别系统结合 Libevent 实现网络化 AI 接入
  • 如何写出优秀的单元测试?
  • 17.vue.js响应式和dom更新
  • java33
  • Java重构实战:小步快跑的高效策略分析
  • 【嵌入式硬件实例】-555定时器实现烟雾和易燃气体泄露检测
  • JAVA-springboot 异常处理
  • 15故障排查
  • CAD中DWG到DXF文件解析(一)
  • ELK日志文件分析系统——E(Elasticsearch)
  • 【算法深练】二分答案:从「猜答案」到「精准求解」的解题思路
  • RT-Thread Studio SDK管理器安装资源包失败
  • 考研好?还是找工作好?
  • 灵界猫薄荷×贴贴诱发机制详解
  • 深度学习——基于卷积神经网络的MNIST手写数字识别详解
  • 【AS32系列MCU调试教程】驱动开发:AS32驱动库的集成与应用实例
  • Python经验,日志模块logging配置实现双重分割-同时添加时间和大小
  • Android 中 OkHttp 的自定义 Interceptor 实现统一请求头添加
  • BeckHoff_FB --> F_SEQ_X2_Robot 函数
  • Step-Audio-AQAA 解读:迈向「纯语音」交互的端到端 LALM 新里程
  • 【0.2 漫画操作系统原理】
  • 展开说说Android之Glide详解_源码解析
  • 通达信腾龙凤舞幅图指标公式
  • 前端异步编程基础
  • 经典蓝牙 vs BLE:10 大核心差异深度对比(附高频考点 + 大厂真题)