fastadmin框架筛选在buildparams之前自定义筛选条件
error_reporting(E_ERROR);//第一步:屏蔽掉错误提示$mywhere=[];$a1=input('get.filter');//第二步:获取传入参数,拆解参数,查询参数名对应id$a2=json_decode($a1,true);if($a2['entered']){//判断经纪人参数是否存在$memb
error_reporting (E_ERROR); //第一步:屏蔽掉错误提示
$mywhere = [];
$a1 = input('get.filter'); //第二步:获取传入参数,拆解参数,查询参数名对应id
$a2 = json_decode($a1,true);
if($a2['entered']){ //判断经纪人参数是否存在
$member2 = Db::name("member")->where("name",trim($a2['entered']))->find();
if($member2){
$a3 = $member2['id']; //用经纪人的name获取经纪人的id
//$mywhere1 = ['entered'=>$a3];
//array_push($mywhere,$mywhere1);
}
}
if($a2['area']){
$area2 = Db::name("areas")->where("name",trim($a2['area']))->find();
if($area2){
$a4 = $area2['id'];
//$mywhere2 = ['area'=>$a4];
//array_push($mywhere,$mywhere2);
}
}
if($a2['nationality']){
$nationality2 = Db::name("nationality")->where("name",trim($a2['nationality']))->find();
if($nationality2){
$a5 = $nationality2['id'];
//$mywhere3 = ['nationality'=>$a5];
//array_push($mywhere,$mywhere3);
}
}
//设置过滤方法
$this->request->filter(['strip_tags', 'trim']);
if ($this->request->isAjax()) {
//如果发送的来源是Selectpage,则转发到Selectpage
if ($this->request->request('keyField')) {
return $this->selectpage();
}
//第三步:将传入参数里面的的经纪人、地区、国籍等参数消除掉
$filter2 = json_decode($this->request->get("filter", ''), true);
if (isset($filter2['entered'])) {
unset($filter2['entered']);
}
if (isset($filter2['area'])) {
unset($filter2['area']);
}
if (isset($filter2['nationality'])) {
unset($filter2['nationality']);
}
//第四步:消除掉后,再重新设置传入参数,放进 $where 里面,连同自定义参数一起组合查询
$this->request->get(['filter' => json_encode($filter2, true)]);
//$this->request->get(['op' => json_encode($op, true)]);
list($where, $sort, $order, $offset, $limit) = $this->buildparams();
$list = $this->model
->where($where)
->where($a2['entered']?['entered'=>$a3]:'1=1')//自定义参数
->where($a2['area']?['area'=>$a4]:'1=1')//自定义参数
->where($a2['nationality']?['nationality'=>$a5]:'1=1')//自定义参数
->order($sort, $order)
->paginate($limit);



