首先在控制器添加代码 下吗的false修改为true开启关联查询
/**
* 是否是关联查询
*/
protected $relationSearch = false;
然后在控制器下新建查看方法
把下图的category修改为自己的表就可以了,我用admin表进行测试
/**
* 查看
*/
public function index()
{
if ($this->request->isAjax())
{
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$total = $this->model
->with(["category"])
->where($where)
->order($sort, $order)
->count();
$list = $this->model
->with(["category"])
->where($where)
->order($sort, $order)
->limit($offset, $limit)
->select();
$result = array("total" => $total, "rows" => $list);
return json($result);
}
return $this->view->fetch();
}
相对应的在model中创建方法。我已经修改过了
public function admin()
{
return $this->belongsTo('admin', 'admin_id')->setEagerlyType(0);
}
此时已经完成了后端的操作,前端需要把它显示出来
在根目录下的public/assets/js/backend/你的项目名称.js下修改显示
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'id',
sortName: 'id',
columns: [
[
{checkbox: true},
{field: 'id', title: __('Id')},
{field: 'admin_id', title: __('用户id')},
{field: 'admin.username', title: __('用户名称')},
{field: 'admin.nickname', title: __('昵称')},
{field: 'testint', title: __('Testint')},
{field: 'testenum', title: __('Testenum'), searchList: {"0":__('Testenum 0'),"1":__('Testenum 1'),"2":__('Testenum 2')}, formatter: Table.api.formatter.normal},
{field: 'admin_id', title: __('Admin_id')},
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
]
]
});
我新增了对应的字段,然后就能正常显示了
搜索的话只需要添加新增字段的条件就能对新字段搜索了
/**
* 快速搜索时执行查找的字段
*/
protected $searchFields = 'admin_id,admin.username,admin.nickname';