diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Repository/EntryRepository.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Repository/EntryRepository.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Repository/EntryRepository.php b/src/Wallabag/CoreBundle/Repository/EntryRepository.php index e764e8f7..87b9befe 100644 --- a/src/Wallabag/CoreBundle/Repository/EntryRepository.php +++ b/src/Wallabag/CoreBundle/Repository/EntryRepository.php | |||
@@ -134,4 +134,31 @@ class EntryRepository extends EntityRepository | |||
134 | 134 | ||
135 | return $qb->getQuery()->getResult(); | 135 | return $qb->getQuery()->getResult(); |
136 | } | 136 | } |
137 | |||
138 | /** | ||
139 | * Find distinct language for a given user. | ||
140 | * Used to build the filter language list. | ||
141 | * | ||
142 | * @param int $userId User id | ||
143 | * | ||
144 | * @return array | ||
145 | */ | ||
146 | public function findDistinctLanguageByUser($userId) | ||
147 | { | ||
148 | $results = $this->createQueryBuilder('e') | ||
149 | ->select('e.language') | ||
150 | ->where('e.user = :userId')->setParameter('userId', $userId) | ||
151 | ->andWhere('e.language IS NOT NULL') | ||
152 | ->groupBy('e.language') | ||
153 | ->orderBy('e.language', ' ASC') | ||
154 | ->getQuery() | ||
155 | ->getResult(); | ||
156 | |||
157 | $languages = array(); | ||
158 | foreach ($results as $result) { | ||
159 | $languages[$result['language']] = $result['language']; | ||
160 | } | ||
161 | |||
162 | return $languages; | ||
163 | } | ||
137 | } | 164 | } |