public function merge(Query $query) { if ($query->hasModel()) { $this->setModel($query->getModel()); } if ($query->hasFields()) { $this->addManyFields($query->getFields()); } if ($query->hasOffset()) { $this->setOffset($query->getOffset()); } if ($query->hasLimit()) { $this->setLimit($query->getLimit()); } if ($query->hasConditions()) { $this->addManyConditions($query->getConditions()); } if ($query->hasSorters()) { $this->addManySorters($query->getSorters()); } return $this; }