]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Twig/WallabagExtension.php
Enable cache for queries
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Twig / WallabagExtension.php
index 6e46c7018cab9df687aa7e9be754913e74bac817..5c475d614b5712e313f4b0a60d00717631c1c01d 100644 (file)
@@ -36,16 +36,27 @@ class WallabagExtension extends \Twig_Extension implements \Twig_Extension_Globa
             return array();
         }
 
-        $unreadEntries = $this->repository->getBuilderForUnreadByUser($user->getId())->getQuery()->getResult();
-        $starredEntries = $this->repository->getBuilderForStarredByUser($user->getId())->getQuery()->getResult();
-        $archivedEntries = $this->repository->getBuilderForArchiveByUser($user->getId())->getQuery()->getResult();
-        $allEntries = $this->repository->getBuilderForAllByUser($user->getId())->getQuery()->getResult();
+        $unreadEntries = $this->repository->enableCache(
+            $this->repository->getBuilderForUnreadByUser($user->getId())->getQuery()
+        );
+
+        $starredEntries = $this->repository->enableCache(
+            $this->repository->getBuilderForStarredByUser($user->getId())->getQuery()
+        );
+
+        $archivedEntries = $this->repository->enableCache(
+            $this->repository->getBuilderForArchiveByUser($user->getId())->getQuery()
+        );
+
+        $allEntries = $this->repository->enableCache(
+            $this->repository->getBuilderForAllByUser($user->getId())->getQuery()
+        );
 
         return array(
-            'unreadEntries' => count($unreadEntries),
-            'starredEntries' => count($starredEntries),
-            'archivedEntries' => count($archivedEntries),
-            'allEntries' => count($allEntries),
+            'unreadEntries' => count($unreadEntries->getResult()),
+            'starredEntries' => count($starredEntries->getResult()),
+            'archivedEntries' => count($archivedEntries->getResult()),
+            'allEntries' => count($allEntries->getResult()),
         );
     }