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 相关文章推荐
PHP 中执行系统外部命令
Oct 09 PHP
用文本作数据处理
Oct 09 PHP
一个简易需要注册的留言版程序
Oct 09 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
帝国CMS留言板回复后发送EMAIL通知客户
Jul 06 PHP
php生成图片验证码-附五种验证码
Aug 19 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
Oct 28 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
php ActiveMQ的安装与使用方法图文教程
Feb 23 PHP
PHP强制转化的形式整理
May 22 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 Class 文章
2007/04/04 PHP
php中检查文件或目录是否存在的代码小结
2012/10/22 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
getimagesize获取图片尺寸实例
2014/11/15 PHP
PHP使用反射机制实现查找类和方法的所在位置
2016/04/22 PHP
PHP 图片处理
2020/09/16 PHP
搭建PhpStorm+PhpStudy开发环境的超详细教程
2020/09/17 PHP
Jquery Autocomplete 结合asp.net使用要点
2010/10/29 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
Javascript基础教程之数据类型转换
2015/01/18 Javascript
jQuery表单域属性过滤器用法分析
2015/02/10 Javascript
jQuery实现简单的文件上传进度条效果
2020/03/26 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
JS实现前端页面的搜索功能
2018/06/12 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
微信提示 在浏览器打开 效果实现过程解析
2019/09/10 Javascript
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
2021/01/08 Vue.js
Python实现从订阅源下载图片的方法
2015/03/11 Python
使用PyV8在Python爬虫中执行js代码
2017/02/16 Python
对numpy中二进制格式的数据存储与读取方法详解
2018/11/01 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
HOTEL INFO英国:搜索全球酒店
2019/08/08 全球购物
土建专业毕业生自荐书
2014/07/04 职场文书
党员自我评价范文2015
2015/03/03 职场文书
暖春观后感
2015/06/08 职场文书
元素水平垂直居中的方式
2021/03/31 HTML / CSS