예제 #1
0
 /**
  * Получить список топиков по списку 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;
 }