code: protected static function filterValidColumnNames($db, array $aliases)
      {
          $columnNames = [];
          $tableName = static::tableName();
          $quotedTableName = $db->quoteTableName($tableName);
  
          foreach (static::getTableSchema()->getColumnNames() as $columnName) {
              $columnNames[] = $columnName;
              $columnNames[] = $db->quoteColumnName($columnName);
              $columnNames[] = "$tableName.$columnName";
              $columnNames[] = $db->quoteSql("$quotedTableName.[[$columnName]]");
              foreach ($aliases as $tableAlias) {
                  $columnNames[] = "$tableAlias.$columnName";
                  $quotedTableAlias = $db->quoteTableName($tableAlias);
                  $columnNames[] = $db->quoteSql("$quotedTableAlias.[[$columnName]]");
              }
          }
  
          return $columnNames;
      }
docs: Valid column names are table column names or column names prefixed with table name or table alias
  
  @param Connection $db
  @param array $aliases
  @return array
  @throws InvalidConfigException
  @since 2.0.17
  @internal