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技巧小贴士之下篇
Mar 22 PHP
php 无限分类的树类代码
Dec 03 PHP
php下网站防IP攻击代码,超级实用
Oct 24 PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
thinkPHP实现表单自动验证
Dec 24 PHP
php实现简单的语法高亮函数实例分析
Apr 27 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
详解PHP的Yii框架中扩展的安装与使用
Apr 01 PHP
PHP批量删除jQuery操作
Jul 23 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
Sep 13 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
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
NOT NULL 和NULL
2007/01/15 PHP
php学习笔记 面向对象的构造与析构方法
2011/06/13 PHP
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
CI框架中redis缓存相关操作文件示例代码
2016/05/17 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
php计算多个集合的笛卡尔积实例详解
2017/02/16 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
2017/03/16 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
javascript 主动派发事件总结
2011/08/09 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
JavaScript中的函数(二)
2015/12/23 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
js仿网易表单及时验证功能
2017/03/07 Javascript
javascript深拷贝的原理与实现方法分析
2017/04/10 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
django创建自定义模板处理器的实例详解
2017/08/14 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python hashlib模块加密过程解析
2019/11/05 Python
CSS3教程(5):网页背景图片
2009/04/02 HTML / CSS
酒店员工检讨书
2014/02/18 职场文书
保险公司开门红口号
2014/06/21 职场文书
商务英语专业求职信
2014/06/26 职场文书
学习保证书怎么写
2015/02/26 职场文书
浅谈MySQL 亿级数据分页的优化
2021/06/15 MySQL
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python