public function index()
{
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if (false === $this->request->isAjax()) {
return $this->view->fetch();
}
//如果发送的来源是 Selectpage,则转发到 Selectpage
if ($this->request->request('keyField')) {
$data = $this->selectpage();
//默认return 返回return函数对象 json(['list' => $list, 'total' => $total]);
//此处提取对象进行单独处理
$list = $data->getData()['list'];
$total = $data->getData()['total'];
foreach ($list as $index => $row){
//value返回string,find/select返回对象/数组,需要键名提取
$tagsid = Db::table('page_tags_child')->where('id', $row['id'])->value('tagsid');
$tag = Db::table('page_tags')->where('id', $tagsid)->value('tag');
$list[$index]['tag'] = $row['tag']." / ".$tag;
}
return json(['list' => $list, 'total' => $total]);
}
[$where, $sort, $order, $offset, $limit] = $this->buildparams();
$list = $this->model
->alias('child')
->join('page_tags tags','tags.id = child.tagsid')
->field('tags.tag,child.*')
->where($where)
->order($sort, $order)
->paginate($limit);
foreach ($list->items() as $row){
$tag = Db::table('page_tags tags')->where('id', $row['tagsid'])->field('tag')->find();
$row['tagsid'] = $tag['tag'];
}
$result = ['total' => $list->total(), 'rows' => $list->items()];
return json($result);
}
忽略keyValue,直接修改数据源。