您的位置 首页 php技术

fastadmin 关联id动态下拉修改

找到下拉关联id要查询的那个控制器,然后index方法下面有一个: 9sy8hLN7TpA18xEJvocgC…

找到下拉关联id要查询的那个控制器,然后index方法下面有一个:

9sy8hLN7TpA18xEJvocgCQ==

        //如果发送的来源是Selectpage,则转发到Selectpage
        if ($this->request->request('keyField')) {
            return $this->selectpage();
        }

*如果查询的那个控制器没有index方法,就去admin/libary/traits/Backend.php里去复制一个index方法到查询的那个控制器当中
把return $this->selectpage();干掉,然后自己写查询数据返回,返回的变量需要有list和total,list是数据,total是条数,再加上模糊查询和编辑时候的默认选中,另外你还可以修改展示的名称,以下是参考的写法:

/kUvQveoFFXdt5pZ66HAew==

        if ($this->request->request('keyField')) {
            #定义空数组
            $b = array();
            #判断是否有手动输入的查询名称
            if(!$this->request->request('name')){
                #条件为true
                $where = 1;
            }else{
                #like模糊查询
                $where = "name like"."'%".$this->request->request('name')."%'  or id like"."'%".$this->request->request('name')."%'";
            }
            $a['list'] = db::name('goods')->where($where)->page($this->request->request('pageNumber'),10)->select();
            $a['total'] = db::name('goods')->where($where)->count();
            #判断是否有值,有值则为打开编辑时默认返回的,没有值的时候是添加点击事件传过来的
            if($this->request->request('keyValue')){
                $a['list'] = db::name('goods')->where(['id'=>$this->request->request('keyValue')])->find();
                $b['list'][0] = $a['list'];
            }else{
                foreach($a['list'] as $k=>$v){
                    $b['list'][$k] = $v;
                }
                #分页条数
                $b['total'] = $a['total'];
            }
            foreach($b['list'] as $k=>$v){
                #返回的是name,这里可以自定义返回的内容
                if($v['activeswitch']==1){
                    $b['list'][$k]['name'] = '商品ID:'.$v['id'].'---商品名称:'.$v['name'].'---类型:活动专属';
                }else{
                    $b['list'][$k]['name'] = '商品ID:'.$v['id'].'---商品名称:'.$v['name'].'---类型:普通商品';
                }
                
            }
            #返回下拉数据
            return $b;
        }

$this->request->request(‘keyField’)中的keyField只是一个参数,你可以打开f12然后点击下拉的时候看headers最下面传的参数,有好几个,包括keyField、name、keyValue等等.

+YEz/wFW7tDssJ1L3HgSbA==

效果图:

本文来自网络,不代表MuKe网站资源立场,转载请注明出处:https://www.somke.cn/archives/78

作者: delon

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

在线咨询: QQ交谈

邮箱: lon_mail@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部