php

fastadmin Table表修改

2020-04-13  本文已影响0人  bianruifeng
一、如下图修改列标题:

分类 修改对应模块的js文件
路径:fa/public/assets/js/backend/goods.js
如果不生效,清理浏览器缓存再试。


显示效果:
二、关联两表查询显示:

应用场景:
goods商品表,GoodsCategory商品分类表。
现在要在商品管理页显示商品所属分类,该如何修改??
第一步:
在goods的model 中写关联

    /**
     * 关联商品分类表
     * @return \think\model\relation\BelongsTo
     *  GoodsCategory 表名  category_id 关联键
     */
    public function category()
    {
        return $this->belongsTo('GoodsCategory', 'category_id');
    }

第二步:
application/admin/controller/的goods 模块 重写index方法

/**
     * 查看
     */
    public function index()
    {
        //当前是否为关联查询,这句要不要好像没有影响??
        //$this->relationSearch = true;
        //设置过滤方法
        $this->request->filter(['strip_tags']);
        if ($this->request->isAjax()) {
            //如果发送的来源是Selectpage,则转发到Selectpage
            if ($this->request->request('keyField')) {
                return $this->selectpage();
            }
            list($where, $sort, $order, $offset, $limit) = $this->buildparams();
            $total = $this->model
                ->where($where)
                ->with('category')//加入关联查询
                ->order($sort, $order)
                ->count();
            $list = $this->model
                ->where($where)
                ->with('category')//加入关联查询
                ->order($sort, $order)
                ->limit($offset, $limit)
                ->select();

            $list = collection($list)->toArray();
            $result = array("total" => $total, "rows" => $list);
            return json($result);
        }
        return $this->view->fetch();
    }

第三步:
fa/public/assets/js/backend/路径下找到 goods.js 模块,初始化表格中增加

// 初始化表格
            table.bootstrapTable({
                url: $.fn.bootstrapTable.defaults.extend.index_url,
                pk: 'goods_id',
                sortName: 'goods_id',
                columns: [
                    [{
                            checkbox: true
                        },
                        {
                            field: 'category.name',//category 关联分类表对象, name 为分类表字段
                            title: "分类"//表的列标题
                        },
                        {
                            field: 'goods_id',
                            title: __('Goods_id')
                        },
                        ......

清理浏览器缓存,刷新浏览器测试,完成。

三、表格添加序号:
//无需修改直接复制粘入即可
{field: 'no',
 title: __('序号'),
   sortable: true,
   operate:false,
   align: "center",
   width: 40,
   formatter: function (value, row, index) {
       //获取每页显示的数量
       var pageSize=table.bootstrapTable('getOptions').pageSize;
       //获取当前是第几页
       var pageNumber=table.bootstrapTable('getOptions').pageNumber;
       //返回序号,注意index是从0开始的,所以要加上1
       return pageSize * (pageNumber - 1) + index + 1;
   }
},


一张图解析FastAdmin中的表格列表的功能

上一篇 下一篇

猜你喜欢

热点阅读