/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = GroupOption::find()->with(['creater', 'updater', 'deleter'])->asArray(true);
     $query->where('[[tenant_id]] = :tenantId', [':tenantId' => Yad::getTenantId()]);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['group_name' => SORT_ASC, 'value' => SORT_ASC]]]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['enabled' => $this->enabled, 'defaulted' => $this->defaulted]);
     $query->andFilterWhere(['like', 'group_name', $this->group_name])->andFilterWhere(['like', 'alias', $this->alias]);
     return $dataProvider;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = IpAccessRule::find()->with(['creater', 'updater', 'deleter'])->asArray(true);
     $query->andWhere('tenant_id = :tenantId', [':tenantId' => Yad::getTenantId()]);
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['type' => $this->type, 'enabled' => $this->enabled]);
     $query->andFilterWhere(['like', 'ip_address', $this->ip_address]);
     return $dataProvider;
 }
 /**
  * 获取设置为不可见的列
  * @return array
  */
 public static function getInvisibleColumns($name)
 {
     return Yii::$app->db->createCommand('SELECT [[attribute]] FROM {{%grid_column_config}} WHERE [[tenant_id]] = :tenantId AND [[user_id]] = :userId AND [[name]] = :name AND [[visible]] = :visible')->bindValues([':tenantId' => Yad::getTenantId(), ':userId' => Yii::$app->user->id, ':name' => $name, ':visible' => Constant::BOOLEAN_FALSE])->queryColumn();
 }
 /**
  * 根据分组名称和值获取对应的分组显示文本
  * @param string $groupName
  * @param string $value
  * @return mixed
  */
 public static function getText($groupName, $value)
 {
     $text = null;
     if (!empty($groupName) && !empty($value)) {
         $text = Yii::$app->db->createCommand('SELECT [[text]] FROM {{%group_option}} WHERE [[tenant_id]] = :tenantId AND [[group_name]] = :groupName AND [[value]] = :value')->bindValues([':tenantId' => Yad::getTenantId(), ':groupName' => trim($groupName), ':value' => trim($value)])->queryScalar();
     }
     return $text;
 }