Laravel-admin 學習筆記之一:select 聯動選單進行篩選資料

夜遊人發表於2020-06-22

剛使用Laravel不久,一直在努力學習,總想著寫些學習筆記,但是一直都沒有時間整理,今天做一個省市的二級聯動(當然有可用的擴充套件,如china-distpicker,但是不太適用,因此自己做一個),過程中遇到了一些坑,在此記錄下來。

一開始沒頭緒,於是搜尋,終於找到了相關的資料:laravel-admin 中列表篩選,不過裡面沒有詳細的說明,以致於我掉坑裡面了。以下是我的程式碼:

$filter->equal('pid', '省份')->select(Region::provinceOptions())->load('cid', '/admin/region/cities');
$filter->equal('cid', '市級')->select(route('region.cities', 'q='.$pid));

其中 ‘/admin/region/cities’ 對應的就是路由:route(‘region.cities’, ‘q=’.$pid),引數 q 對應的是省份ID。

public function citiesFromPid(Request $request){
    $pid = $request->get('q');  // 引數必須用 “q”
    // get 裡面的兩個引數必須是 text 和 id!!!
    return Region::ofPid($pid)->ofLevel(2)->get(['name as text', 'area_id as id']);
}

掉坑主要是上面的程式碼:
1)引數“q”,這個是固定的不能修改,開始我一直使用 pid,然後一直都有問題……
2)這個更坑,引數固定是 text 和 id了,我剛開始留意到 “name as text”,但是沒注意到 id 也是固定的!我一直使用自己的 area_id,然後就一直有問題……

首先宣告,我使用Laravel不久,小白一名!我寫這文章的目的一是寫筆記,加深理解。二是希望能對一些剛入門、經驗不足的朋友做一些參考。還有就是第一次寫文章,寫的不好,見笑了!

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章