前言#
FastAdmin 中的 table 自定义搜索,有时候需要重构 where 条件
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
经过 buildparams 处理后不好修改
可以在 buildparams 之前处理
下面记录 php 和 js 两种处理方式
方式一 php#
$filter = json_decode($this->request->get("filter", ''), true);
$op = json_decode($this->request->get("op", '','trim'), true);
$where0 = [];
if (isset($filter['groupIds'])) {
//自定义处理
//处理完可以去掉也可以覆盖重构
unset($filter['groupIds'],$op['groupIds']);
}
$this->request->get(['filter'=>json_encode($filter,true)]);
$this->request->get(['op'=>json_encode($op,true)]);
方式二 js#
table.bootstrapTable({
//省略...
queryParams: function (params) {
let filter = JSON.parse(params.filter);
let op = JSON.parse(params.op);
//重构搜索条件
filter['game.game_mode'] = 0;
filter['game.play_mode'] = 0;
op['game.game_mode'] = '=';
op['game.play_mode'] = '=';
params.filter = JSON.stringify(filter);
params.op = JSON.stringify(op);
console.log(params);
return params;
},
})