FastAdmin使用——后台篇

前面的博客讲了fastadmin在创建页面后前端是如何布局和获取数据的(FastAdmin使用——前端篇),看一下后台如何操作数据的,后台的controller层来操作数据,所有的controller都会自动继承基类backend,我们看一下上次形成的例子的Student.php文件

model = model('Student');
        $this->view->assign("studentSexList", $this->model->getStudentSexList());
    }
    
    /**
     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
     */
}

这是自动生成的代码,可以看到除了初始化_initialize()函数并没有其他函数,注释里也解释了直接使用了基类的五个基础方法,下面我们分析一下基类的五个基础函数。

/**
     * 查看
     */
    public function index()
    {
        //设置过滤方法
        $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)
                ->order($sort, $order)
                ->count();

            $list = $this->model
                ->where($where)
                ->order($sort, $order)
                ->limit($offset, $limit)
                ->select();

            $list = collection($list)->toArray();
            $result = array("total" => $total, "rows" => $list);

            return json($result);
        }
        return $this->view->fetch();
    }

点击页面传送ajax请求,第一个if判断选择页面,返回selectpage()方法,list()构造参数,$where处理前端的查询请求,在前端篇讲过查询。$sort是js设定数据库的主键,$order设置排序的方式也由js初始化参数定义获取,$offset是选择页数后,覆盖的数据,$limit是页面选择的数据显示条数,这些数据都可以在页面的f12下查看到。

$total构造数据的条数,$list是具体的数据,而我们在查询数据时可以在这里修改,用的语法都是tp5的函数,index方法是我们经常用的所以详细分析,而剩余的删改查代码可以根据自己的业务需要编写,不推荐大家使用默认方法,如果不需要自己改写就使用默认的方法,edit和del方法在前端添加按钮后使用$ids=""传参,可以根据基类里的函数改写。

后台的使用和tp5没有太大区别,fastadmin很多方法是封装好的所以想要自己定义一些业务需要时也不太方便,不过fastadmin在使用起来确实速度很快,在开发中小型网站时很好用。

 

你可能感兴趣的:(FastAdmin)