diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Repository/TagRepository.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Repository/TagRepository.php | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Repository/TagRepository.php b/src/Wallabag/CoreBundle/Repository/TagRepository.php index 2182df25..6c63a6a2 100644 --- a/src/Wallabag/CoreBundle/Repository/TagRepository.php +++ b/src/Wallabag/CoreBundle/Repository/TagRepository.php | |||
@@ -76,4 +76,24 @@ class TagRepository extends EntityRepository | |||
76 | ->getQuery() | 76 | ->getQuery() |
77 | ->getSingleResult(); | 77 | ->getSingleResult(); |
78 | } | 78 | } |
79 | |||
80 | public function findForArchivedArticlesByUser($userId) | ||
81 | { | ||
82 | $ids = $this->createQueryBuilder('t') | ||
83 | ->select('t.id') | ||
84 | ->leftJoin('t.entries', 'e') | ||
85 | ->where('e.user = :userId')->setParameter('userId', $userId) | ||
86 | ->andWhere('e.isArchived = true') | ||
87 | ->groupBy('t.id') | ||
88 | ->orderBy('t.slug') | ||
89 | ->getQuery() | ||
90 | ->getArrayResult(); | ||
91 | |||
92 | $tags = []; | ||
93 | foreach ($ids as $id) { | ||
94 | $tags[] = $this->find($id); | ||
95 | } | ||
96 | |||
97 | return $tags; | ||
98 | } | ||
79 | } | 99 | } |