]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/WallabagBundle/Repository/EntriesRepository.php
toggle archive / fav actions
[github/wallabag/wallabag.git] / src / WallabagBundle / Repository / EntriesRepository.php
index c355a012c61dd51a68ccc0a1e914f4d9468e3a42..c4428a1d20046e6cf70d1d45c33a020716429cf7 100644 (file)
@@ -4,31 +4,31 @@ namespace WallabagBundle\Repository;
 
 use Doctrine\ORM\Query;
 use Doctrine\ORM\EntityRepository;
+use Doctrine\ORM\Tools\Pagination\Paginator;
 
-/**
- * EntriesRepository
- *
- * This class was generated by the Doctrine ORM. Add your own custom
- * repository methods below.
- */
 class EntriesRepository extends EntityRepository
 {
-    public function findUnreadByUser($userId)
+    public function findUnreadByUser($userId, $firstResult, $maxResults = 12)
     {
         $qb = $this->createQueryBuilder('e')
             ->select('e')
+            ->setFirstResult($firstResult)
+            ->setMaxResults($maxResults)
             ->where('e.isRead = 0')
             ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
-            ->getQuery()
-            ->getResult(Query::HYDRATE_ARRAY);
+            ->getQuery();
 
-        return $qb;
+        $pag = new Paginator($qb);
+
+        return $pag;
     }
 
-    public function findArchiveByUser($userId)
+    public function findArchiveByUser($userId, $firstResult, $maxResults = 12)
     {
         $qb = $this->createQueryBuilder('e')
             ->select('e')
+            ->setFirstResult($firstResult)
+            ->setMaxResults($maxResults)
             ->where('e.isRead = 1')
             ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
             ->getQuery()
@@ -37,10 +37,12 @@ class EntriesRepository extends EntityRepository
         return $qb;
     }
 
-    public function findStarredByUser($userId)
+    public function findStarredByUser($userId, $firstResult, $maxResults = 12)
     {
         $qb = $this->createQueryBuilder('e')
             ->select('e')
+            ->setFirstResult($firstResult)
+            ->setMaxResults($maxResults)
             ->where('e.isFav = 1')
             ->andWhere('e.userId =:userId')->setParameter('userId', $userId)
             ->getQuery()