商家管理中艰难的增加admin_id [已有更好的方法]

想把admin表中的名字加入到下拉列表中,遇到几个问题:

  1. 数据表字段是 admin_id 但是生成后没有对应字段;

  2. 列表页显示的仍然是 admin_id 的id数字;

  3. 自己给 add.html 和 edit.html 增加 selectpage后,管理员可以调用了,其他权限不行;


解决方法:   

    1. 修改controller的index,增加查询后过滤修改数值;

    shop.php

    //最前面先加上这一句,用来表示访问权限;
    protected $noNeedRight = ['get_admin'];
    
    public function index()
    {
        //设置过滤方法
        $this->request->filter(['strip_tags', 'trim']);
        if (false === $this->request->isAjax()) {
            return $this->view->fetch();
        }
        //如果发送的来源是 Selectpage,则转发到 Selectpage
        if ($this->request->request('keyField')) {
            return $this->selectpage();
        }
        [$where, $sort, $order, $offset, $limit] = $this->buildparams();
        $list = $this->model
            ->where($where)
            ->order($sort, $order)
            ->paginate($limit);
        
        $admd = new \app\admin\model\Admin;
        $adarr = $admd->column('nickname','id');

        foreach($list as &$item){
            $item->admin_id = $adarr[$item->admin_id];
            $item->createtime =$item->createtime==null?$item->createtime:date('Y-m-d H:i:s',$item->createtime);
            $item->updatetime =$item->updatetime==null?$item->updatetime:date('Y-m-d H:i:s',$item->updatetime);
        }
        
        $result = ['total' => $list->total(), 'rows' => $list->items()];
        return json($result);
    }

    2. 再增加一个查询,直接查admin表,绕过权限验证;

        shop.php

    public function get_admin()
    {
        $admd = new \app\admin\model\Admin;
        $adarr = $admd->select();
        $retarr = ['list' => $adarr, 'total' => count($adarr)];
        return json($retarr);
    }


    3. 修改add.html 和 edit.html;

    add.html

    <div class="form-group">
        <label class="control-label col-xs-12 col-sm-2">{:__('Admin_id')}:</label>
        <div class="col-xs-12 col-sm-8">
             <input id="c-Admin_id" data-rule="required" data-source="shop/get_admin" class="form-control selectpage" name="row[Admin_id]" data-primary-key="id" data-field="nickname" type="text" value="">           
        </div>
    </div>

    edit.html

     <div class="form-group">
        <label class="control-label col-xs-12 col-sm-2">{:__('Admin_id')}:</label>
        <div class="col-xs-12 col-sm-8">
             <input id="c-Admin_id" data-rule="required" data-source="shop/get_admin" class="form-control selectpage" name="row[Admin_id]" data-primary-key="id" data-field="nickname" type="text" value="{$row.admin_id|htmlentities}">           
        </div>
    </div>

    4. 微调js;

        主要删掉不用的首页的字段;






«    2025年7月    »
123456
78910111213
14151617181920
21222324252627
28293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.4

    周易八字研究笔记 豫ICP备2021017518号-3     豫公网安备41077102000113