1 select.inc public SelectQuery::__clone()

Implements the magic __clone function.

Overrides Query::__clone

File

core/includes/database/select.inc, line 1829

Class

SelectQuery
Query builder for SELECT statements.

Code

public function __clone() {
  parent::__clone();

  // On cloning, also clone the dependent objects. However, we do not
  // want to clone the database connection object as that would duplicate the
  // connection itself.

  $this->where = clone($this->where);
  $this->having = clone($this->having);
  foreach ($this->union as $key => $aggregate) {
    $this->union[$key]['query'] = clone($aggregate['query']);
  }
  foreach ($this->tables as $alias => $table) {
    if ($table['table'] instanceof SelectQueryInterface) {
      $this->tables[$alias]['table'] = clone $table['table'];
    }
  }
}