首先在你控制器对应的模型中添加以下代码:
public function getNicknameAttr($value, $data){
$nicknameArr = \think\Db::name("关联表名")->where("id", "in", $data["IDS字段"])->column("nickname");
return implode(",", $nicknameArr);
}
然后重载你的控制器的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
->with(['admin'])
->where($where)
->order($sort, $order)
->count();
$list = $this->model
->with(['admin'])
->where($where)
->order($sort, $order)
->limit($offset, $limit)
->select();
foreach ($list as $row) {
$row->getRelation('admin')->visible(['id','username','nickname']);
}
foreach($list as &$item){
$item->nickname = $item->nickname;
}
$list = collection($list)->toArray();
$result = array("total" => $total, "rows" => $list);
return json($result);
}
return $this->view->fetch();
}