亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

laravel-admin 后臺表格篩選設(shè)置默認(rèn)的查詢?nèi)掌诜椒?/h1>
 更新時(shí)間:2019年10月03日 19:29:05   作者:ncsb  
今天小編就為大家分享一篇laravel-admin 后臺表格篩選設(shè)置默認(rèn)的查詢?nèi)掌诜椒ǎ哂泻芎玫膮⒖純r(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、框架版本說明

laravel 5.5

laravel-admin 1.7.5

二、表格日期篩選使用

后端調(diào)用代碼

$grid->filter(function(Grid\Filter $filter){
$filter->like('title', '標(biāo)題');
$filter->between('created_at', '發(fā)布日期')->date();
});

日期篩選條件對應(yīng)的前端界面如下圖:

三、需要設(shè)置默認(rèn)查詢?nèi)掌诘脑?/strong>

對于大表查詢?nèi)绻麤]有默認(rèn)的條件限制,查詢數(shù)據(jù)庫會非常的慢,count(*) 總數(shù)都要好幾秒

為了解決上面的問題,所以需要加默認(rèn)的條件限制

這個(gè)問題是老大解決的,下面先說明處理的方法,再記錄下自己走的彎路

四、處理方法

在方法開始出加上代碼:

if(empty(request()->created_at)){
request()->offsetSet('created_at',Helper::lastConditionDate('month'));
}

為什么要這樣寫了,就是給Request對象設(shè)置請求參數(shù)created_at,就這么簡單。 下面是一些簡要的說明

時(shí)間查詢條件字段created_at

Helper::lastConditionDate('month') 這個(gè)行代碼得到是一個(gè)時(shí)間起止的數(shù)據(jù):

Array
(
[start] => 2019-07-09
[end] => 2019-08-08
)

設(shè)置這個(gè)數(shù)據(jù),是因?yàn)閘araval-admin的日期查詢條件就是這樣提交到前端的,見下圖:

以上就是問題的處理方法。

下面記錄下,自己解決這個(gè)問題是怎么誤入歧途的

開始時(shí)這樣寫的:

標(biāo)題可以設(shè)置成功,默認(rèn)的日期設(shè)置不了,為什么了?

官方文檔、網(wǎng)上搜索了一堆,還是沒有找到解決方法。我開始懷疑是不是源碼的問題了,于是看源碼這塊是不是沒有設(shè)置了,

看源碼初始化的時(shí)候果然是沒有設(shè)置。于是自己加了幾行代碼,見上圖紅框處。

刷新頁面,果然可以看到設(shè)置的默認(rèn)值了,別高興太早,馬上測試就發(fā)現(xiàn)問題。

重新選擇日期查詢,還是顯示的是默認(rèn)日期條件。。。。。。。

這是老大過來,看了下,很快就解決了,上面已經(jīng)記錄了。

自己出現(xiàn)的問題如下:

看標(biāo)題可以設(shè)置默認(rèn)值,就想當(dāng)然的認(rèn)為日期也是在那里設(shè)置的。

其實(shí)標(biāo)題設(shè)置在第一次打開列表頁面,數(shù)據(jù)庫查詢并沒有標(biāo)題的查詢條件,只是顯示到了頁面上。

總結(jié):

laraval-admin設(shè)置默認(rèn)查詢條件,在$grid->filter() 里面設(shè)置是沒有用的(打開列表頁面不會用到默認(rèn)的查詢條件)。

設(shè)置默認(rèn)的查詢條件需要先修改Request對象的請求參數(shù)

可以斷定,laraval-admin 表格類別篩選,后端查詢是參數(shù)是filter里面設(shè)置,參數(shù)值會取Request對象中對應(yīng)的參數(shù)值。前端查詢條件數(shù)據(jù)顯示是根據(jù)URL上面的參數(shù)設(shè)置的。

以上這篇laravel-admin 后臺表格篩選設(shè)置默認(rèn)的查詢?nèi)掌诜椒ň褪切【幏窒斫o大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論