public function updateTag($tree_id, $tag, $new_tree_id, $new_tag) { $searchcriteria = array('tag' => $tag, 'tree_id' => $tree_id); $sqlParser = clone $this->sqlParser; $sqlParser->parseCriteria($searchcriteria, false); $this->parseCriteria($sqlParser, $searchcriteria); $sqlParser->setFieldValue('tag', $new_tag); $sqlParser->setFieldValue('tree_id', $new_tree_id); $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 NewsTreeRef(); $treeRef->updateTag($tree_id, $tag, $new_tree_id, $new_tag); }