Laravel-admin联动菜单 进行过滤筛选数据

表格中

过滤筛选数据

 $grid->filter(function($filter){
    $res=\DB::table("fus")->pluck("funame",'appkey');
    //funame父类名 appkey类似id,因为子类id这里用appkey更容易区分
    $filter->equal('appkey','选择应用')->select($res)->load('id',"cate");
    //appkey为传给cate方法的q参数  id为子类id与下方id绑定 cate方法获取子类信息
    $filter->equal('id','选择渠道')->select();
});

获取子类信息:

public function cate(Request $request){
        $appkey = $request->get('q');
        //坑点必须是q参数没有为什么
        $res=\DB::table("zis")->where('appkey',$appkey)->get(['id', \DB::raw('ziname as text')]);
//id为子类id ziname为子类名 格式不可变\DB::raw('ziname as text')
        return $res;
}

表单中

同理select 联动


    $res=\DB::table("fus")->pluck("funame",'appkey');
    //funame父类名 appkey类似id,因为子类id这里用appkey更容易区分 
    $form->form->select(('appkey','选择应用')->options($res)->load('id',"cate");
    //appkey为传给cate方法的q参数  id为子类id与下方id绑定 cate方法获取子类信息
    $filter->equal('id','选择渠道')->rules("required");

获取子类信息:

public function cate(Request $request){
        $appkey = $request->get('q');
        //坑点必须是q参数没有为什么
        $res=\DB::table("zis")->where('appkey',$appkey)->get(['id', \DB::raw('ziname as text')]);
//id为子类id ziname为子类名 格式不可变\DB::raw('ziname as text')
        return $res;
}

定义cate路由:

$router->get('/cate', 'XxxxController@cate');

省市县为例

过滤筛选数据

$grid->filter(function($filter){
            $options=\DB::table('provinces')->pluck('province','provinceid');
            $filter->equal('province', '省')->select($options)->load('city',"getcity");
            $province=\Request::get('province');
            $options=\DB::table("cities")->where('provinceid',$province)->pluck('city','cityid');
            
            $filter->equal('city', '市')->select($options)->load('area',"getarea");
            
            $city=\Request::get('city');
            $options=\DB::table("areas")->where('cityid',$city)->pluck('area','areaid');
            $filter->equal('area', '县')->select($options);
            
        });

获取子类信息方法

public function getcity(Request $request){
        $appkey = $request->get('q');
        //坑点必须是q参数没有为什么
        
        $res=\DB::table("cities")->where('provinceid',$appkey)->get(['cityid as id', \DB::raw('city as text')]);
        //id为子类id text为子类名 格式不可变id和text也是固定的
        return $res;
    }
    public function getarea(Request $request){
        $appkey = $request->get('q');
        //坑点必须是q参数没有为什么
        $res=\DB::table("areas")->where('cityid',$appkey)->get(['areaid as id', \DB::raw('area as text')]);
        //id为子类id text为子类名 格式不可变id和text也是固定的
        return $res;
    }

路由

效果图$router->get('/getcity', 'YunController@getcity');
$router->get('/getarea', 'YunController@getarea');

效果图

1 评论
内联反馈
查看所有评论