一、框架版本说明
laravel 5.5
laravel-admin 1.7.5
其次,使用表格日期过滤器
后端调用代码
$ grid-filter(函数(grid filter $ filter){ $ filter like(' title ',' title ');$ filter-介于(' created_at ',' published date ')-date();});日期过滤条件对应的前端界面如下:
三.设置默认查询日期的原因
如果没有大型表查询的默认条件,查询数据库将非常慢,总计数(*)将需要几秒钟
为了解决上述问题,有必要添加默认条件
这个问题被老板解决了。先说明治疗方法,然后记录你走的弯路
四、处理方法
在方法的开头添加代码:
if(empty(request()-created _ at)){ request()-offset set set(' created _ at ',help :3360 last conditiondate(' month ');}为什么要这样写,就是把request参数created_at设置为Request对象,就这么简单。这里有一些简短的说明
时间查询条件字段创建时间
帮助:LastConditionDate('月')这行代码获取时间开始和结束数据:
数组([start]=2019-07-09[end]=2019-08-08)设置此数据是因为laraval-admin的日期查询条件是这样提交给前端的,如下图所示:
以上就是问题的解决方案。
这里记录了你是如何误入歧途自己解决这个问题的
一开始,我写了这样一段话:
标题可以设置成功,但不能设置默认日期。为什么呢?
在搜索了大量的官方文件和网上之后,仍然没有解决办法。我开始怀疑是不是源代码,于是就看是不是没有设置源代码。
看源代码初始化真的是没设置。所以我添加了几行代码,如上图红色方框所示。
刷新页面,可以看到默认值。不要太高兴,马上通过测试就会发现问题。
重新选择日期查询,或显示默认日期条件。
这是老板。看完之后,很快就解决了。已经录好了。
我自己的问题如下:
您可以通过查看标题来设置默认值,并理所当然地认为日期也设置在那里。
实际上,标题是在第一个打开的列表页面上设置的,数据库查询没有标题查询条件,只是在页面上显示。
总结:
Laraval-admin设置默认查询条件,但是在$grid-filter()(打开列表页面时不会使用默认查询条件)中设置是没有用的。
设置默认查询条件需要首先修改请求对象的请求参数
可以得出结论,laraval-admin表类别过滤器后端查询中的参数是在过滤器中设置的,参数值会取Request对象中对应的参数值。前端查询条件数据显示是根据以上URL参数设置的。
上面为laravel-admin后台表过滤器设置默认查询日期的方法是边肖与所有人共享的所有内容。希望能给大家一个参考,支持我们。