前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》

07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》

作者头像
1_bit
发布2022-09-20 14:57:52
7050
发布2022-09-20 14:57:52
举报
文章被收录于专栏:我的知识小屋
文章目录(更新中…)

01 thinkphp6的前期开发准备《ThinkPHP6 入门到电商实战》 02 控制器《ThinkPHP6 入门到电商实战》 03 数据库查询、模型查询、多库查询《ThinkPHP6 入门到电商实战》 04 tp6 的查数据《ThinkPHP6 入门到电商实战》 05 tp6 的数据添加《ThinkPHP6 入门到电商实战》 06 tp6 的数据更新(改)及删除 《ThinkPHP6 入门到电商实战》 07查询表达式 及 page分页、order 排序《ThinkPHP6 入门到电商实战》 08 获取器 withAttr、多连缀、whereRaw、事务、数据集《ThinkPHP6 入门到电商实战》

若是大一学子或者是真心想学习刚入门的小伙伴可以私聊我,若你是真心学习可以送你书籍,指导你学习,给予你目标方向的学习路线,无套路,博客为证。

一、查询表达式

查询表达式是指在查询中使用表达式,进行更灵活的查询,以下是官方手册中的表达式:

在这里插入图片描述
在这里插入图片描述

在此列出较为常用的查询表达式,其他表达式自行查看手册即可。

1.1= 表达式

以下是官方手册示例,使用等于表达式对某个值进行查询:

代码语言:javascript
复制
Db::name('user')->where('id','=',100)->select();

若查询 student 表中身高等于 170 的同学那么代码写成:

代码语言:javascript
复制
public function select(){
   $res=Db::name('student')->where('height','=',170)->select();
   dump($res);
}

结果如下:

在这里插入图片描述
在这里插入图片描述

以上查询方法与以下代码等效:

代码语言:javascript
复制
Db::name('user')->where('id',100)->select();

1.2 不等于 <>

若想查询不包括 170 身高的同学就可以写成如下代码:

代码语言:javascript
复制
$res=Db::name('student')->where('height','<>',170)->select();

结果为:

在这里插入图片描述
在这里插入图片描述

1.3 区间查询 between 、whereIn、whereNotIn

between 表示某个值在什么和什么之间,例如:

代码语言:javascript
复制
$res=Db::name('student')->where('id','between','1,5')->select();

以上代码表示 id 在 1至5 之间,那么得到的数据如下:

在这里插入图片描述
在这里插入图片描述

也可以使用 whereBetween 进行查询,两者等效:

代码语言:javascript
复制
$res=Db::name('student')->whereBetween('id','1,5')->select();

同样也可以使用 not between 表示非区间内查询:

代码语言:javascript
复制
$res=Db::name('student')->whereNotBetween('id','1,5')->select();

结果如下:

在这里插入图片描述
在这里插入图片描述

使用 in 进行查询则是表示某个值在指定的范围之中,这个范围是给定的,而不是自动的一个区间:

代码语言:javascript
复制
$res=Db::name('student')->where('id','in','1,5,8')->select();

以上代码表示 id 为 1、5、8 均满足查询条件,那么此时的数据为:

在这里插入图片描述
在这里插入图片描述

当然也可以使用 notin 和 wherein:

代码语言:javascript
复制
Db::name('student')->whereIn('id','in','1,5,8')->select();
Db::name('student')->whereNotIn('id','in','1,5,8')->select();

二、page 分页查询

在以往的分页中我们可能使用较多的是 limit 操作,当然在这里也可以使用 limit 操作,但是使用 page 更加的“舒服”,例如如下示例:

代码语言:javascript
复制
public function select(){
    $res=Db::name('student')->page(1, 3)->select();
    dump($res);
}

使用 page 就表示每页 3 调数据,1则表示第一页,此时只需要更改1这个数字就可以表示不同“页”的数据了,结果如下:

在这里插入图片描述
在这里插入图片描述

三、order 排序

使用 order 可使数据通过某个值按照不同的方式进行排列,例如:

代码语言:javascript
复制
Db::name('student')->page(1, 3)->order('id', 'desc')->select();

以上代码表示查询所有数据的前3个,但是排序是id desc 降序排序,那么结果就是:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、查询表达式
  • 1.1= 表达式
  • 1.2 不等于 <>
  • 1.3 区间查询 between 、whereIn、whereNotIn
  • 二、page 分页查询
  • 三、order 排序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档