官方文档:
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},
效果展示:
如果是一对多的话,请参我发的有用的那个文档。