剛使用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 協議》,轉載必須註明作者和本文連結