在fastadmin项目中用到get传参,怎么也接收不上,细看才发现中间加了一层ajax,需要透过ajax来使用
代码如下:
php代码
public function index() {
$memid_arr = [];
//获取商家id
if (!empty($this->request->get('memid'))) {
$memid_arr[] = $this->request->get('memid');
}else{
//若无,则展示该代理下的所有商户的订单
//获取代理id
$admin_id = Session::get('admin')['id'];
//获取该代理下的商户id
$memid = Db::name('pay_member')->where('parent_id', $admin_id)->select();
foreach ($memid as $mk => $mv) {
$memid_arr[] = $mv['id'];
}
}
if ($this->request->isAjax()) {
list($where, $sort, $order, $offset, $limit) = $this->buildparams(null, true);
$total = $this->model
->alias('pay_order')
->join('fa_pay_member pm', 'pay_order.mid=pm.id', 'LEFT')
->where($where)
->field('pay_order.*, pm.nickname')
->order($sort, $order)
->count();
$list = $this->model
->alias('pay_order')
->join('fa_pay_member pm', 'pay_order.mid=pm.id', 'LEFT')
->where($where)
->field('pay_order.*, pm.nickname')
->order($sort, $order)
->limit($offset, $limit)
->select();
// $sql = $this->model->getLastSql();
// return json($sql);
$result = array("total" => $total, "rows" => $list );
return json($result);
}
//ajax传参
$this->assignconfig('memid', $memid_arr);
return parent::index();
}
在对应的js文件中的初始化表格参数下面添加以下js代码即可
queryParams: function (params) {
// 自定义搜索条件
var filter = params.filter ? JSON.parse(params.filter) : {};
var op = params.op ? JSON.parse(params.op) : {};
//filter.后跟的是在ajax里使用的名称只需修改这两行
filter.mid = Config.memid;
//opop后跟的也是ajax里使用的名称,后面是条件
op.mid = 'in';
params.filter = JSON.stringify(filter);
params.op = JSON.stringify(op);
// console.log(params);
return params;
}