/** * Получить список топиков по списку ID, но используя единый кеш * * @param array $aTopicsId Список ID топиков * * @return ModuleTopic_EntityTopic[] */ public function GetTopicsByArrayIdSolid($aTopicsId) { if (!is_array($aTopicsId)) { $aTopicsId = array($aTopicsId); } $aTopicsId = array_unique($aTopicsId); $aTopics = array(); $s = join(',', $aTopicsId); if (false === ($data = E::ModuleCache()->Get("topic_id_{$s}"))) { $data = $this->oMapper->GetTopicsByArrayId($aTopicsId); foreach ($data as $oTopic) { $aTopics[$oTopic->getId()] = $oTopic; } E::ModuleCache()->Set($aTopics, "topic_id_{$s}", array("topic_update"), 60 * 60 * 24 * 1); return $aTopics; } return $data; }