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 相关文章推荐
windows下升级PHP到5.3.3的过程及注意事项
Oct 12 PHP
php中显示数组与对象的实现代码
Apr 18 PHP
php操作csv文件代码实例汇总
Sep 22 PHP
Laravel 4 初级教程之安装及入门
Oct 30 PHP
PHP实现的简单mock json脚本分享
Feb 10 PHP
php微信公众平台开发之微信群发信息
Sep 13 PHP
如何使用PHP给图片加水印
Oct 12 PHP
CakePHP框架Session设置方法分析
Feb 23 PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
如何理解PHP核心特性命名空间
May 28 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 面向对象实现代码
2009/11/11 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
2010/12/29 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
JavaScript基础语法让人疑惑的地方小结
2012/05/23 Javascript
NodeJS学习笔记之FS文件模块
2015/01/13 NodeJs
javascript中eval和with用法实例总结
2015/11/30 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
jQuery获取剪贴板内容的方法
2016/06/16 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
浅谈如何使用 webpack 优化资源
2017/10/20 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
原生js+css实现tab切换功能
2020/09/17 Javascript
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
简单谈谈Python中的闭包
2016/11/30 Python
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
NBA欧洲商店(法国):NBA Europe Store FR
2016/10/19 全球购物
荷兰之家英文站:Holland at Home
2016/10/26 全球购物
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
英语自我评价范文
2014/01/24 职场文书
大学生入党推荐书范文
2014/05/17 职场文书
2014审计局领导班子民主生活会对照检查材料思想汇报
2014/09/20 职场文书
乱世佳人观后感
2015/06/08 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
浅谈mysql返回Boolean类型的几种情况
2021/06/04 MySQL
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技