public function updateTreeId($sourceNodeId, $destinationNodeId) { $searchcriteria = array('tree_id' => $sourceNodeId); $sqlParser = clone $this->sqlParser; $sqlParser->parseCriteria($searchcriteria, false); $this->parseCriteria($sqlParser, $searchcriteria); $sqlParser->setFieldValue('tree_id', $destinationNodeId); $query = $sqlParser->getSql(SqlParser::MOD_UPDATE_FIELDS); $db = $this->getDb(); $res = $db->query($query); if ($db->isError($res)) { throw new Exception($res->getDebugInfo()); } // update treeref $treeRef = new PollTreeRef(); $treeRef->updateRefTreeId($sourceNodeId, $destinationNodeId); // update settings $settings = $this->getPollSettings(); $settings->updateTreeId($tag, $tree_id, $newTag); }