Laravel-admin 学习笔记之一:select 联动菜单进行筛选数据
刚使用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 协议》,转载必须注明作者和本文链接
推荐文章: