request->isAjax) { if (Yii::$app->request->isPost) { $params = Yii::$app->request->post(); // 检查提交的参数 $res = Yii::$app->services->validate->validate($get,[ [['activities_number', 'reward_type'], 'integer'], [['activities_name'], 'string'], ]); if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage()); $filter = []; if(!empty($params['user_id'])){ $userQuery = User::find()->where(['mall_id'=>$this->mall_id]); $search_user_ids = $userQuery->andWhere(['=', 'id', $params['user_id']])->select(['id'])->asArray()->all(); $search_user_ids = array_column($search_user_ids, 'id'); if ($search_user_ids) { $filter[] = ['uid' => $search_user_ids]; } else { $filter[] = ['uid' => []]; } } $where = []; !empty($params['activities_number']) && $where[] = ['like', 'activities_number', $params['activities_number']]; !empty($params['activities_name']) && $where[] = ['like', 'activities_name', $params['activities_name']]; if(!empty($where)){ $select = 'id'; $params = compact('where','select'); $packet_data = RandomRedPacket::listPage($params); $search_packet_ids = array_column($packet_data['list'], 'id'); if ($search_packet_ids) { $filter[] = ['packet_id' => $search_packet_ids]; } else { $filter[] = ['packet_id' => []]; } } $where = array_merge([['mall_id' => $this->mall_id]], $filter); $params = [ 'where' => $where, 'with' => ['user','randomRedPacket'], 'order' => 'id DESC', ]; $list = RandomRedPacketRecord::listPage($params); $this->success('获取成功', ['list' => $list]); } } else { return $this->render($this->action->id); } } }