Since: 2.3
Author: Fabio B. Silva (fabio.bat.silva@gmail.com)
Inheritance: extends CacheProvider
Beispiel #1
0
 public function getHomePageList(FileCache $cache)
 {
     if (!$cache->contains('home_journal_offset')) {
         $cache->save('home_journal_offset', rand(0, $this->getJournalCount()), 3600);
     }
     $cachedOffset = $cache->fetch('home_journal_offset');
     $list = $this->createQueryBuilder('j')->select('partial j.{id,slug,issn,image,totalArticleView,totalArticleDownload,founded}, partial i.{id,slug}')->join('j.publisher', 'i')->andWhere('j.status = :status')->setParameter('status', JournalStatuses::STATUS_PUBLISHED)->setFirstResult(rand(0, $this->getJournalCount()))->setFirstResult($cachedOffset)->setMaxResults(12)->getQuery()->useQueryCache(true)->useResultCache(true, 3600)->getResult(Query::HYDRATE_OBJECT);
     return $list;
 }