目录
▸
入门
简介
安装
1.x升级指南
版本升级
快速开始
开发前必读
主题与颜色
静态资源
视图与自定义页面
多应用(多后台)
JS组件
常见问题
Laravel Octane
▸
数据表格
基本使用
列的使用和扩展
列的显示和扩展
行的使用和扩展
工具栏
树状表格
组合表头
数据来源以及查询条件
关联关系
查询过滤
列过滤器
快捷搜索
规格筛选器
数据导出
快捷创建
行内编辑
事件
字段翻译
数据软删除
头部和脚部
表格异步渲染
▸
数据表单
基本使用
图片/文件上传
字段的使用
字段扩展
数据源
表单弹窗
关联关系
JSON表单
分步表单
表单验证
工具表单
事件以及表单响应
初始化
表单布局
字段翻译
字段动态显示
▸
数据详情
基本使用
字段显示
关联关系
字段显示扩展
初始化
字段翻译
▸
模型树
基本使用
▸
数据仓库
基本使用
▸
动作
基本使用
数据表格
数据表单
数据详情
模型树
▸
多语言
基本使用
▸
开发扩展
扩展基本使用
开发扩展
▸
页面组件
异步加载
图表
数据统计卡片
模态窗(Modal)
工具表单
下拉菜单
单/复选框
选项卡
警告框
提示窗
Markdown
卡片
▸
区块
区块基本使用
▸
动作以及表单响应
动作以及表单响应
▸
权限控制
权限控制
▸
菜单
菜单基本使用
▸
帮助函数
帮助函数
▸
开发工具
基本使用
▸
自定义登陆认证
自定义登录
▸
自定义头部导航
自定义头部导航条
▸
更新日志
BETA版本更新日志
更新日志
内容导航
1.x
2.x
快捷搜索
创建时间:2024-06-26 10:55:43 / 更新时间:2024-06-26 10:55:43
# 表格快捷搜索 快捷搜索是除了`filter`之外的另一个表格数据搜索方式,用来快速过滤你想要的数据,开启方式如下: ```php $grid->quickSearch(); // 设置表单提示值 $grid->quickSearch()->placeholder('搜索...'); ``` 这样表头会出现一个搜索框:  通过给`quickSearch`方法传入不同的参数,来设置不同的搜索方式,有下面几种使用方法 ## Like搜索 第一种方式,通过设置字段名称来进行简单的like查询 ```php $grid->quickSearch('title'); // 提交后模型会执行下面的查询 $model->where('title', 'like', "%{$input}%"); ``` 或者对多个字段做like查询: ```php $grid->quickSearch('title', 'desc', 'content'); // 或 $grid->quickSearch(['title', 'desc', 'content']); // 提交后模型会执行下面的查询 $model->where('title', 'like', "%{$input}%") ->orWhere('desc', 'like', "%{$input}%") ->orWhere('content', 'like', "%{$input}%"); ``` ### 关联关系 > Since `v1.7.0` 如果安装了 [dcat/laravel-wherehasin](https://github.com/jqhph/laravel-wherehasin),则会优先使用`whereHasIn`方法进行查询操作 ```php $grid->quickSearch('user.name', 'user.username', 'content'); ``` ## 自定义搜索 第二种方式可以让你更灵活的控制搜索条件 ```php $grid->quickSearch(function ($model, $query) { $model->where('title', $query)->orWhere('desc', 'like', "%{$query}%"); }); ``` 其中闭包的参数`$query`为你填入搜索框中的内容,提交之后进行闭包中的查询。 ## 快捷语法搜索 第三种方式参考了`Github`的搜索语法,来进行快捷搜索,调用方式: ```php // 不传参数 $grid->quickSearch(); ``` 填入搜索框的内容按照以下的语法,在提交之后会进行相应的查询 : ### 比较查询 `title:foo` 、`title:!foo` ```php $model->where('title', 'foo'); $model->where('title', '!=', 'foo'); ``` `rate:>10`、`rate:<10`、`rate:>=10`、`rate:<=10` ```php $model->where('rate', '>', 10); $model->where('rate', '<', 10); $model->where('rate', '>=', 10); $model->where('rate', '<=', 10); ``` ### In、NotIn查询 `status:(1,2,3,4)`、`status:!(1,2,3,4)` ```php $model->whereIn('status', [1,2,3,4]); $model->whereNotIn('status', [1,2,3,4]); ``` ### Between查询 `score:[1,10]` ```php $model->whereBetween('score', [1, 10]); ``` ### 时间日期函数查询 `created_at:date,2019-06-08` ```php $model->whereDate('created_at', '2019-06-08'); ``` `created_at:time,09:57:45` ```php $model->whereTime('created_at', '09:57:45'); ``` `created_at:day,08` ```php $model->whereDay('created_at', '08'); ``` `created_at:month,06` ```php $model->whereMonth('created_at', '06'); ``` `created_at:year,2019` ```php $model->whereYear('created_at', '2019'); ``` ### Like查询 `content:%Laudantium%`、`content:Laud%` ```php $model->where('content', 'like', '%Laudantium%'); $model->where('content', 'like', 'Laud%'); ``` ### 正则查询 `username:/song/` > 这里请使用MYSQL正则语法 ```php $model->where('username', 'REGEXP', 'song'); ``` ### 多条件组合搜索 用空格隔开多个搜索语句就可以实现多个字段的AND查询,比如`username:%song% status:(1,2,3)`, 提交之后会运行下面的搜索 ```php $model->where('username', 'like', '%song%')->whereIn('status', [1, 2, 3]); ``` 如果某一个条件是`OR`查询, 只需要在语句单元前增加一个|符号即可: `username:%song% |status:(1,2,3)` ```php $model->where('username', 'like', '%song%')->orWhereIn('status', [1, 2, 3]); ``` > 如果填入的查询文字中包含空格,需要放在双引号里面:`updated_at:"2019-06-08 09:57:45"` ### Label作为查询字段名称 不方便得到字段名的情况下,可以直接使用label名称作为查询字段 ```php // 比如设置了`user_status`的表头列名为`用户状态` $grid->column('user_status', '用户状态'); ``` 那么可以填入`用户状态:(1,2,3)`来执行下面的查询 ```php $model->whereIn('user_status', [1, 2, 3]); ``` ## 禁止自动提交 快捷搜索默认是开启自动提交功能的,如果你不需要自动提交,可以通过以下方式禁用这个功能 > 禁用了自动提交功能之后需要通过按回车(`Enter`)键进行搜索。 ```php $grid->quickSearch()->auto(false); ```
上一文章
下一文章
返回顶部
返回主页
返回文档展示页