laravel-admin 后台表格筛选设置默认的查询日期方法


Posted in PHP onOctober 03, 2019

一、框架版本说明

laravel 5.5

laravel-admin 1.7.5

二、表格日期筛选使用

后端调用代码

$grid->filter(function(Grid\Filter $filter){
$filter->like('title', '标题');
$filter->between('created_at', '发布日期')->date();
});

日期筛选条件对应的前端界面如下图:

laravel-admin 后台表格筛选设置默认的查询日期方法

三、需要设置默认查询日期的原因

对于大表查询如果没有默认的条件限制,查询数据库会非常的慢,count(*) 总数都要好几秒

为了解决上面的问题,所以需要加默认的条件限制

这个问题是老大解决的,下面先说明处理的方法,再记录下自己走的弯路

四、处理方法

在方法开始出加上代码:

if(empty(request()->created_at)){
request()->offsetSet('created_at',Helper::lastConditionDate('month'));
}

为什么要这样写了,就是给Request对象设置请求参数created_at,就这么简单。 下面是一些简要的说明

时间查询条件字段created_at

Helper::lastConditionDate('month') 这个行代码得到是一个时间起止的数据:

Array
(
[start] => 2019-07-09
[end] => 2019-08-08
)

设置这个数据,是因为laraval-admin的日期查询条件就是这样提交到前端的,见下图:

laravel-admin 后台表格筛选设置默认的查询日期方法

以上就是问题的处理方法。

下面记录下,自己解决这个问题是怎么误入歧途的

开始时这样写的:

laravel-admin 后台表格筛选设置默认的查询日期方法

标题可以设置成功,默认的日期设置不了,为什么了?

官方文档、网上搜索了一堆,还是没有找到解决方法。我开始怀疑是不是源码的问题了,于是看源码这块是不是没有设置了,

laravel-admin 后台表格筛选设置默认的查询日期方法

看源码初始化的时候果然是没有设置。于是自己加了几行代码,见上图红框处。

刷新页面,果然可以看到设置的默认值了,别高兴太早,马上测试就发现问题。

重新选择日期查询,还是显示的是默认日期条件。。。。。。。

这是老大过来,看了下,很快就解决了,上面已经记录了。

自己出现的问题如下:

看标题可以设置默认值,就想当然的认为日期也是在那里设置的。

其实标题设置在第一次打开列表页面,数据库查询并没有标题的查询条件,只是显示到了页面上。

总结:

laraval-admin设置默认查询条件,在$grid->filter() 里面设置是没有用的(打开列表页面不会用到默认的查询条件)。

设置默认的查询条件需要先修改Request对象的请求参数

可以断定,laraval-admin 表格类别筛选,后端查询是参数是filter里面设置,参数值会取Request对象中对应的参数值。前端查询条件数据显示是根据URL上面的参数设置的。

以上这篇laravel-admin 后台表格筛选设置默认的查询日期方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
第十二节--类的自动加载
Nov 16 PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 PHP
DEDE采集大师官方留后门的删除办法
Jan 08 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
php中memcache 基本操作实例
May 17 PHP
PHP经典算法集锦【经典收藏】
Sep 14 PHP
Yii2中多表关联查询hasOne hasMany的方法
Feb 15 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
在laravel-admin中列表中禁止某行编辑、删除的方法
Oct 03 #PHP
laravel-admin 中列表筛选方法
Oct 03 #PHP
php实现映射操作实例详解
Oct 02 #PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 #PHP
php实现大文件断点续传下载实例代码
Oct 01 #PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
Oct 01 #PHP
基于Laravel-admin 后台的自定义页面用法详解
Sep 30 #PHP
You might like
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php查找字符串中第一个非0的位置截取
2017/02/27 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
JavaScript学习笔记(三):JavaScript也有入口Main函数
2015/09/12 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
2017/03/03 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
JS函数进阶之继承用法实例分析
2020/01/15 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
python判断链表是否有环的实例代码
2020/01/31 Python
Python matplotlib画曲线例题解析
2020/02/07 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
详解Python设计模式之策略模式
2020/06/15 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
Python从MySQL数据库中面抽取试题,生成试卷
2021/01/14 Python
HTTP状态码详解
2021/03/18 杂记
CSS3 实现时间轴动画
2020/11/25 HTML / CSS
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
医药工作者的求职信范文
2013/09/21 职场文书
网吧收银员岗位职责
2013/12/14 职场文书
信息专业个人的自我评价
2013/12/27 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers