You are here

public function Select::__clone in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Database/Query/Select.php \Drupal\Core\Database\Query\Select::__clone()

Implements the magic __clone function.

Overrides Query::__clone

File

core/lib/Drupal/Core/Database/Query/Select.php, line 919

Class

Select
Query builder for SELECT statements.

Namespace

Drupal\Core\Database\Query

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->condition = clone $this->condition;
  $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 SelectInterface) {
      $this->tables[$alias]['table'] = clone $table['table'];
    }
  }
}