laravel-admin 后臺表格篩選設置默認的查詢日期方法

 更新時間:2019年10月03日 19:29:05   作者:ncsb   我要評論
今天小編就為大家分享一篇laravel-admin 后臺表格篩選設置默認的查詢日期方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、框架版本說明

laravel 5.5

laravel-admin 1.7.5

二、表格日期篩選使用

后端調用代碼

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

日期篩選條件對應的前端界面如下圖:

三、需要設置默認查詢日期的原因

對于大表查詢如果沒有默認的條件限制,查詢數據庫會非常的慢,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的日期查詢條件就是這樣提交到前端的,見下圖:

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

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

開始時這樣寫的:

標題可以設置成功,默認的日期設置不了,為什么了?

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

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

刷新頁面,果然可以看到設置的默認值了,別高興太早,馬上測試就發現問題。

重新選擇日期查詢,還是顯示的是默認日期條件。。。。。。。

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

自己出現的問題如下:

看標題可以設置默認值,就想當然的認為日期也是在那里設置的。

其實標題設置在第一次打開列表頁面,數據庫查詢并沒有標題的查詢條件,只是顯示到了頁面上。

總結:

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

設置默認的查詢條件需要先修改Request對象的請求參數

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

以上這篇laravel-admin 后臺表格篩選設置默認的查詢日期方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • php操作csv文件代碼實例匯總

    php操作csv文件代碼實例匯總

    這篇文章主要介紹了php操作csv文件代碼實例匯總,本文給出6個操作CSV文件的代碼實例,包括讀取、寫入、讀取指定區間等,需要的朋友可以參考下
    2014-09-09
  • CodeIgniter常用知識點小結

    CodeIgniter常用知識點小結

    這篇文章主要介紹了CodeIgniter常用知識點,包括跳轉、常量定義、語言設置及支持get方法傳參等技巧,需要的朋友可以參考下
    2016-05-05
  • PHP通過API獲取手機號碼歸屬地

    PHP通過API獲取手機號碼歸屬地

    本API支持1、可輸入11位手機號查詢歸屬地如:13858861234,2、可輸入7位號段查詢歸屬地如:1335586,3、支持號段 13、14、15、17、18,有需要的小伙伴可以參考下。
    2015-05-05
  • PHP 7.4 新語法之箭頭函數實例詳解

    PHP 7.4 新語法之箭頭函數實例詳解

    短閉包,也叫做箭頭函數,是一種用 php 編寫的短函數.這篇文章主要介紹了PHP 7.4 新語法之箭頭函數,需要的朋友可以參考下
    2019-05-05
  • php5.3以后的版本連接sqlserver2000的方法

    php5.3以后的版本連接sqlserver2000的方法

    這篇文章主要介紹了php5.3以后的版本連接sqlserver2000的方法,包括php5.4、php5.5等版本的通用解決方法,需要的朋友可以參考下
    2014-07-07
  • PHP單例模式詳解及實例代碼

    PHP單例模式詳解及實例代碼

    本文介紹PHP單例模式,文中講解了單例模式的概念、單例模式的特點、使用單例模式的原因及場景及PHP單例模式代碼實例,需要的碼農可以參考下
    2016-12-12
  • PHP實現鏈式操作的原理詳解

    PHP實現鏈式操作的原理詳解

    下面小編就為大家帶來一篇PHP實現鏈式操作的原理詳解。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • 免費的ip數據庫淘寶IP地址庫簡介和PHP調用實例

    免費的ip數據庫淘寶IP地址庫簡介和PHP調用實例

    淘寶ip地址庫提供免費的ip信息查詢,可查詢ip所在國家、區域、省份、城市及運營商等信息。不需要認證不需要注冊,唯一的小缺陷就是限制美妙查詢頻率不能高于10次。
    2014-04-04
  • PHP 圖片文件上傳實現代碼

    PHP 圖片文件上傳實現代碼

    通過 PHP,可以把文件上傳到服務器。里面加入一些圖片的判斷,如果不加判斷文件的類型就可以上傳任意格式的文件。
    2010-12-12
  • CodeIgniter配置之config.php用法實例分析

    CodeIgniter配置之config.php用法實例分析

    這篇文章主要介紹了CodeIgniter配置之config.php用法,結合實例形式詳細的分析了CodeIgniter中配置文件config.php的參數含義及具體使用技巧,需要的朋友可以參考下
    2016-01-01

最新評論

北京pk赛车人工计划软件手机版