/** * Возвращает список блогов по ID, но используя единый кеш * * @param array $aBlogId Список ID блогов * @param array|null $aOrder Сортировка блогов * * @return array */ public function GetBlogsByArrayIdSolid($aBlogId, $aOrder = null) { if (!is_array($aBlogId)) { $aBlogId = array($aBlogId); } $aBlogId = array_unique($aBlogId); $aBlogs = array(); $sCacheKey = 'blog_id_' . join(',', $aBlogId); if (false === ($data = E::ModuleCache()->Get($sCacheKey))) { $data = $this->oMapper->GetBlogsByArrayId($aBlogId, $aOrder); foreach ($data as $oBlog) { $aBlogs[$oBlog->getId()] = $oBlog; } E::ModuleCache()->Set($aBlogs, $sCacheKey, array('blog_update'), 'P1D'); return $aBlogs; } return $data; }
/** * Возвращает список блогов по ID, но используя единый кеш * * @param array $aBlogId Список ID блогов * @param array|null $aOrder Сортировка блогов * @return array */ public function GetBlogsByArrayIdSolid($aBlogId, $aOrder = null) { if (!is_array($aBlogId)) { $aBlogId = array($aBlogId); } $aBlogId = array_unique($aBlogId); $aBlogs = array(); $s = join(',', $aBlogId); if (false === ($data = $this->Cache_Get("blog_id_{$s}"))) { $data = $this->oMapperBlog->GetBlogsByArrayId($aBlogId, $aOrder); foreach ($data as $oBlog) { $aBlogs[$oBlog->getId()] = $oBlog; } $this->Cache_Set($aBlogs, "blog_id_{$s}", array("blog_update"), 60 * 60 * 24 * 1); return $aBlogs; } return $data; }