strapi 创建表并插入数据 实现分页 排序 字段查询 模糊 精准 时间范围等 --前端再也不需要后端 看这一篇就足够了

创建一个表并且插入一些数据

创建表

插入表字段

创建完字段以后进入到下面进行创建数据

创建完数据以后按照我下面的打开视图的查询权限

把查询勾选上

保存以后调用接口查看是否能拿到数据

比如我创建了一个student的视图访问就能看到数据了

javascript 复制代码
http://localhost:1337/api/students

分页

获取第 1 页,每页 10 条数据(默认)

javascript 复制代码
GET /api/students?pagination[page]=1&pagination[pageSize]=10

获取第 2 页,每页 10 条数据

javascript 复制代码
GET /api/students?pagination[page]=2&pagination[pageSize]=10

获取所有数据(禁用分页)

javascript 复制代码
GET /api/students?pagination[pageSize]=-1

查询年龄为 20 的学生

javascript 复制代码
GET /api/students?filters[age][$eq]=20

查询名称为张三的学生

javascript 复制代码
GET /api/students?filters[name][$eq]=张三

多条件精准查询(并且关系)

javascript 复制代码
GET /api/students?filters[age][$eq]=20&filters[name][$eq]=张三

查询姓名包含 "张" 的学生

javascript 复制代码
GET /api/students?filters[name][$contains]=张

不区分大小写的模糊查询

javascript 复制代码
GET /api/students?filters[name][$containsi]=zhang

时间查询

假设存在 birthDate 或 createdAt 时间字段:

查询 2000 年之后出生的学生

javascript 复制代码
GET /api/students?filters[birthDate][$gt]=2000-01-01

查询 2000-2005 年之间出生的学生

javascript 复制代码
GET /api/students?filters[birthDate][$gte]=2000-01-01&filters[birthDate][$lte]=2005-12-31

查询今天创建的学生

javascript 复制代码
GET /api/students?filters[createdAt][$gte]=2023-10-05&filters[createdAt][$lte]=2023-10-05T23:59:59

常用时间操作符:

$gt: 大于

$gte: 大于等于

$lt: 小于

$lte: 小于等于

其他常用条件查询

查询年龄在 18-22 之间的学生

javascript 复制代码
GET /api/students?filters[age][$between][0]=18&filters[age][$between][1]=22

查询年龄为 18、20、22 的学生

javascript 复制代码
GET /api/students?filters[age][$in][0]=18&filters[age][$in][1]=20&filters[age][$in][2]=22

查询年龄不为 18 的学生

javascript 复制代码
GET /api/students?filters[age][$ne]=18

排序

按年龄升序排列(默认)

javascript 复制代码
GET /api/students?sort=age

按年龄降序排列

javascript 复制代码
GET /api/students?sort=age:desc

先按年龄降序,再按姓名升序

javascript 复制代码
GET /api/students?sort[0]=age:desc&sort[1]=name:asc

组合查询

可以将分页、过滤、排序等参数组合使用:

组合示例:查询姓名含"张"、年龄20-25岁的学生,按年龄降序,取第1页10条

javascript 复制代码
GET /api/students?filters[name][$contains]=张&filters[age][$between][0]=20&filters[age][$between][1]=25&sort=age:desc&pagination[page]=1&pagination[pageSize]=10
相关推荐
woshihuanglaoshi5 分钟前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
万亿少女的梦1686 分钟前
基于Spring Boot、Java与MySQL的网络订餐系统设计与实现
java·spring boot·mysql·系统设计·网络订餐
java_logo2 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
To_OC8 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
咩咩啃树皮8 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
鱟鲥鳚9 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
To_OC9 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
小林ixn9 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
广州灵眸科技有限公司9 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
এ慕ོ冬℘゜10 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery