laravel关联查询限制数量(laravel-admin 后台表格筛选设置默认的查询日期方法)
laravel关联查询限制数量
laravel-admin 后台表格筛选设置默认的查询日期方法一、框架版本说明
laravel 5.5
laravel-admin 1.7.5
二、表格日期筛选使用
后端调用代码
$filter->like('title', '标题'); $filter->between('created_at', '发布日期')->date(); });
日期筛选条件对应的前端界面如下图:
三、需要设置默认查询日期的原因
对于大表查询如果没有默认的条件限制,查询数据库会非常的慢,count(*) 总数都要好几秒
为了解决上面的问题,所以需要加默认的条件限制
这个问题是老大解决的,下面先说明处理的方法,再记录下自己走的弯路
四、处理方法
在方法开始出加上代码:
request()->offsetSet('created_at',Helper::lastConditionDate('month')); }
为什么要这样写了,就是给Request对象设置请求参数created_at,就这么简单。 下面是一些简要的说明
时间查询条件字段created_at
Helper::lastConditionDate('month') 这个行代码得到是一个时间起止的数据:
( [start] => 2019-07-09 [end] => 2019-08-08 )
设置这个数据,是因为laraval-admin的日期查询条件就是这样提交到前端的,见下图:
以上就是问题的处理方法。
下面记录下,自己解决这个问题是怎么误入歧途的
开始时这样写的:
标题可以设置成功,默认的日期设置不了,为什么了?
官方文档、网上搜索了一堆,还是没有找到解决方法。我开始怀疑是不是源码的问题了,于是看源码这块是不是没有设置了,
看源码初始化的时候果然是没有设置。于是自己加了几行代码,见上图红框处。
刷新页面,果然可以看到设置的默认值了,别高兴太早,马上测试就发现问题。
重新选择日期查询,还是显示的是默认日期条件。。。。。。。
这是老大过来,看了下,很快就解决了,上面已经记录了。
自己出现的问题如下:
看标题可以设置默认值,就想当然的认为日期也是在那里设置的。
其实标题设置在第一次打开列表页面,数据库查询并没有标题的查询条件,只是显示到了页面上。
总结:
laraval-admin设置默认查询条件,在$grid->filter() 里面设置是没有用的(打开列表页面不会用到默认的查询条件)。
设置默认的查询条件需要先修改Request对象的请求参数
可以断定,laraval-admin 表格类别筛选,后端查询是参数是filter里面设置,参数值会取Request对象中对应的参数值。前端查询条件数据显示是根据URL上面的参数设置的。
以上这篇laravel-admin 后台表格筛选设置默认的查询日期方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
原文链接:https://www.cnblogs.com/zqsb/p/11314293.html
- laravel接口响应时间(laravel请求参数校验方法)
- laravel 后台任务配置(在Laravel中使用GuzzleHttp调用第三方服务的API接口代码)
- laravel 框架关键技术解析(在laravel框架中实现封装公共方法全局调用)
- laravel多线程处理请求(Laravel 6 将新增为指定队列任务设置中间件的功能)
- laravel对请求参数解密(Laravel开启跨域请求的方法)
- phplaravel开发规范(Laravel解决nesting level错误和隐藏index.php的问题)
- laravel设置跨域请求(解决laravel 出现ajax请求419unknown status的问题)
- laravel 队列导入数据(laravel框架查询数据集转为数组的两种方法)
- laravel数据绑定(laravel-admin表单提交隐藏一些数据,回调时获取数据的方法)
- laravel队列过期时间(laravel 修改记住我功能的cookie保存时间的方法)
- laravel指定管理员(在laravel-admin中列表中禁止某行编辑、删除的方法)
- laravel数据库关联查找(laravel 操作数据库常用函数的返回值方法)
- laravel队列是如何触发的(laravel 事件/监听器实例代码)
- laravel队列失败原理(Laravel第三方包报class not found的解决方法)
- laravel验证码依赖(laravel5.2表单验证,并显示错误信息的实例)
- laravel自定义数据库驱动(laravel框架数据库配置及操作数据库示例)
- 十二星座爱情支配欲指数(十二星座爱情支配欲指数)
- 虐待儿童是发泄支配欲的愚蠢行为(虐待儿童是发泄支配欲的愚蠢行为)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
热门推荐
- mysql数据表怎么复制(MySQL 复制表的方法)
- VPS搭建离线下载服务器(后网盘时代)(VPS搭建离线下载服务器后网盘时代)
- nodejs实现websocket服务端(Node.js+express+socket实现在线实时多人聊天室)
- vue插槽实例(Vue中插槽slot的使用方法与应用场景详析)
- 前端表单验证(AmazeUI的JS表单验证框架实战示例分享)
- dedecms代码在哪里(dedecms 解决rss相对路径问题)
- 云服务器传统服务器配置(云服务器、高防服务器的不同之处体现在哪里?)
- 织梦dedecms建站的核心经验和技巧(dedecms模板安装教程及模板相关知识学习)
- dedecms授权协议(360提示DedeCms全局变量覆盖漏洞临时解决方法)
- 以双斜杠//开头的URL的含义
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9