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 相关文章推荐
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
php 常用类整理
Dec 23 PHP
PHP SEO优化之URL优化方法
Apr 21 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
PHP页面中文乱码分析
Oct 29 PHP
php页面防重复提交方法总结
Nov 25 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
PHP SplObjectStorage使用实例
May 12 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
PHP的curl函数的用法总结
Feb 14 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+Mysql树型结构(无限分类)数据库设计的2种方式实例
2014/07/15 PHP
Yii框架登录流程分析
2014/12/03 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
PHP连接access数据库
2015/03/27 PHP
JavaScript 学习笔记(十二) dom
2010/01/21 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
用jquery存取照片的具体实现方法
2013/06/30 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
使用jquery 简单实现下拉菜单
2015/01/14 Javascript
D3.js实现折线图的方法详解
2016/09/21 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
代码分析vue中如何配置less
2018/09/28 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
vue中使用vee-validator完成表单校验方案
2019/11/01 Javascript
解决VUEX的mapState/...mapState等取值问题
2020/07/24 Javascript
[01:15:45]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第一局
2016/02/26 DOTA
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Python列表list操作相关知识小结
2020/01/29 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
详解解决jupyter不能使用pytorch的问题
2021/02/18 Python
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
HTML5 canvas标签实现刮刮卡效果
2015/04/24 HTML / CSS
世界著名的顶级牛排:Omaha Steak(奥马哈牛排)
2016/09/20 全球购物
Prototype如何更新局部页面
2013/03/03 面试题
会计系毕业个人自荐信格式
2013/09/23 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
助学金感谢信
2015/01/20 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书