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
扩展你的 PHP 之入门篇
Dec 04 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
php生成图形(Libchart)实例
Nov 06 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
php实现获取文章内容第一张图片的方法
Nov 04 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
php单例模式示例分享
Feb 12 PHP
php分页原理 分页代码 分页类制作教程
Sep 23 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
Sep 26 PHP
php curl简单采集图片生成base64编码(并附curl函数参数说明)
Feb 15 PHP
PHP与SQL语句写一句话木马总结
Oct 11 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
第九节--绑定
2006/11/16 PHP
PHP简单系统数据添加以及数据删除模块源文件下载
2008/06/07 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
laravel5.5添加echarts实现画图功能的方法
2019/10/09 PHP
JavaScript 继承详解(四)
2009/07/13 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
使用jQuery重置(reset)表单的方法
2014/05/05 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
2015/09/01 Javascript
js和jquery分别验证单选框、复选框、下拉框
2015/12/17 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
react实现pure render时bind(this)隐患需注意!
2017/03/09 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
Vue 自定义动态组件实例详解
2018/03/28 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
Python实现拷贝多个文件到同一目录的方法
2016/09/19 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
Caffe均值文件mean.binaryproto转mean.npy的方法
2018/07/09 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
CSS3实现各种图形的示例代码
2016/10/19 HTML / CSS
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
中学生学雷锋活动心得体会
2014/03/10 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
企业文化理念标语
2014/06/10 职场文书
管理工程专业求职信
2014/08/10 职场文书
医者仁心观后感
2015/06/17 职场文书
mysql字符串截取函数小结
2021/04/05 MySQL