官方文档:
https://ask.fastadmin.net/article/323.html
达到第10点的效果。反正我是没看懂。然后,自己搜索了很多,都是千篇一律的抄袭官方文档的那几句话。
真正有用的参考文档:
https://ask.fastadmin.net/question/1933.html
然后,贴上自己写的代码:
控制器中:
//引入关联模型 use app\admin\model\source\Unit as UnitModel; //查看 public function index() { //设置过滤方法 $this->request->filter(['strip_tags']); if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } //使用模型,查找对应的字段。这里还可以添加where条件进行筛选 $typeName = UnitModel::column('id,title'); 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(); //处理数组。我这里,是一对一的关系 foreach ($list as $k => &$v) { $v['type_text'] = isset($typeName[$v['unit']]) ? $typeName[$v['unit']] : ""; } unset($v); $result = array("total" => $total, "rows" => $list); return json($result); } return $this->view->fetch(); }
js部分:
把: {field: 'unit', title: __('Unit')}, 改为: {field: 'type_text', title: __('Unit'),operate:false,formatter: Table.api.formatter.label},
效果展示:
如果是一对多的话,请参我发的有用的那个文档。