/** * 批量更新帖子话题 * * @param int $typeId * @param int $paramId * @param array $dmArray */ public function updateTags($typeId, $paramId, $dmArray) { if (!$typeId || !$paramId) { return new PwError('data.error'); } $tagsInfo = $this->_getTagDs()->getTagRelationByType($typeId, $paramId); $this->_getTagDs()->batchDeleteRelationsByType($typeId, $paramId, array_keys($tagsInfo)); $dmArray && $this->addTags($dmArray); $types = $this->_getTypeMap(); $tags = $this->getTagByType($types[$typeId], $paramId); Wind::import('SRV:forum.dm.PwTopicDm'); $dm = new PwTopicDm($paramId); $dm->setTags($this->_formatTags($tags)); Wekit::load('forum.PwThread')->updateThread($dm, PwThread::FETCH_CONTENT); return true; }