laravel-admin 后台表格筛选设置默认的查询日期方法
Laravel  /  管理员 发布于 8年前   298
一、框架版本说明 laravel 5.5 laravel-admin 1.7.5 二、表格日期筛选使用 后端调用代码 日期筛选条件对应的前端界面如下图: 三、需要设置默认查询日期的原因 对于大表查询如果没有默认的条件限制,查询数据库会非常的慢,count(*) 总数都要好几秒 为了解决上面的问题,所以需要加默认的条件限制 这个问题是老大解决的,下面先说明处理的方法,再记录下自己走的弯路 四、处理方法 在方法开始出加上代码: 为什么要这样写了,就是给Request对象设置请求参数created_at,就这么简单。 下面是一些简要的说明 时间查询条件字段created_at Helper::lastConditionDate('month') 这个行代码得到是一个时间起止的数据: 设置这个数据,是因为laraval-admin的日期查询条件就是这样提交到前端的,见下图: 以上就是问题的处理方法。 下面记录下,自己解决这个问题是怎么误入歧途的 开始时这样写的: 标题可以设置成功,默认的日期设置不了,为什么了? 官方文档、网上搜索了一堆,还是没有找到解决方法。我开始怀疑是不是源码的问题了,于是看源码这块是不是没有设置了, 看源码初始化的时候果然是没有设置。于是自己加了几行代码,见上图红框处。 刷新页面,果然可以看到设置的默认值了,别高兴太早,马上测试就发现问题。 重新选择日期查询,还是显示的是默认日期条件。。。。。。。 这是老大过来,看了下,很快就解决了,上面已经记录了。 自己出现的问题如下: 看标题可以设置默认值,就想当然的认为日期也是在那里设置的。 其实标题设置在第一次打开列表页面,数据库查询并没有标题的查询条件,只是显示到了页面上。 总结: laraval-admin设置默认查询条件,在$grid->filter() 里面设置是没有用的(打开列表页面不会用到默认的查询条件)。 设置默认的查询条件需要先修改Request对象的请求参数 可以断定,laraval-admin 表格类别筛选,后端查询是参数是filter里面设置,参数值会取Request对象中对应的参数值。前端查询条件数据显示是根据URL上面的参数设置的。 以上这篇laravel-admin 后台表格筛选设置默认的查询日期方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。$grid->filter(function(Grid\Filter $filter){$filter->like('title', '标题');$filter->between('created_at', '发布日期')->date();});
if(empty(request()->created_at)){request()->offsetSet('created_at',Helper::lastConditionDate('month'));}
Array([start] => 2019-07-09[end] => 2019-08-08)
您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号