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小偷相关截取函数备忘
Nov 28 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
Jul 18 PHP
php读取mysql中文数据出现乱码的解决方法
Aug 16 PHP
PHP中使用TCPDF生成PDF文档实例
Jul 01 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
Aug 21 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
php学习笔记之字符串常见操作总结
Jul 16 PHP
php实现银联商务公众号+服务窗支付的示例代码
Oct 12 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
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
php计算多维数组中所有值总和的方法
2015/06/24 PHP
php使用curl伪造浏览器访问操作示例
2019/09/30 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
一个简单的jquery的多选下拉框(自写)
2014/05/05 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
理解javascript定时器中的setTimeout与setInterval
2016/02/23 Javascript
微信小程序 实战小程序实例
2016/10/08 Javascript
浅谈jquery中next与siblings的区别
2016/10/27 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
JS实现的找零张数最小问题示例
2017/11/28 Javascript
利用Javascript获取选择文本所在的句子详解
2017/12/03 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
Vue基础配置讲解
2019/11/29 Javascript
答题辅助python代码实现
2018/01/16 Python
python机器学习包mlxtend的安装和配置详解
2019/08/21 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
教师的实习自我鉴定
2013/12/17 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
演讲比赛策划方案
2014/06/11 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
小学教师个人总结
2015/02/05 职场文书
解决mysql:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO/YES)
2021/06/26 MySQL
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers