code: public function alias($alias)
      {
          if (empty($this->from) || count($this->from) < 2) {
              list($tableName) = $this->getTableNameAndAlias();
              $this->from = [$alias => $tableName];
          } else {
              $tableName = $this->getPrimaryTableName();
  
              foreach ($this->from as $key => $table) {
                  if ($table === $tableName) {
                      unset($this->from[$key]);
                      $this->from[$alias] = $tableName;
                  }
              }
          }
  
          return $this;
      }
docs: Define an alias for the table defined in [[modelClass]].
  
  This method will adjust [[from]] so that an already defined alias will be overwritten.
  If none was defined, [[from]] will be populated with the given alias.
  
  @param string $alias the table alias.
  @return $this the query object itself
  @since 2.0.7