code: protected function buildAttributeCondition($attribute, $condition)
      {
          if (is_array($condition)) {
              $parts = [];
              foreach ($condition as $operator => $value) {
                  if (isset($this->operatorTypes[$operator])) {
                      if (isset($this->conditionBuilders[$operator])) {
                          $method = $this->conditionBuilders[$operator];
                          if (is_string($method)) {
                              $callback = [$this, $method];
                          } else {
                              $callback = $method;
                          }
                          $parts[] = $callback($operator, $value, $attribute);
                      } else {
                          $parts[] = $this->buildOperatorCondition($operator, $value, $attribute);
                      }
                  }
              }
  
              if (!empty($parts)) {
                  if (count($parts) > 1) {
                      return array_merge(['AND'], $parts);
                  }
                  return array_shift($parts);
              }
          }
  
          return [$attribute => $this->filterAttributeValue($attribute, $condition)];
      }
docs: Builds search condition for a particular attribute.
  @param string $attribute search attribute name.
  @param mixed $condition search condition.
  @return array actual condition.