diff options
author | Jeremy Benoist <jeremy.benoist@gmail.com> | 2016-10-09 18:41:19 +0200 |
---|---|---|
committer | Jeremy Benoist <jeremy.benoist@gmail.com> | 2016-10-09 18:55:22 +0200 |
commit | 28bb48905a2104adad65508f51737f987dc1ad4c (patch) | |
tree | 41922f46efae593fc786b561486a40ee70e25383 /src/Wallabag/CoreBundle/Repository/TagRepository.php | |
parent | b4fcd60e7f217bf0b23fa99c83698e7407bee54b (diff) | |
download | wallabag-28bb48905a2104adad65508f51737f987dc1ad4c.tar.gz wallabag-28bb48905a2104adad65508f51737f987dc1ad4c.tar.zst wallabag-28bb48905a2104adad65508f51737f987dc1ad4c.zip |
Optimize the way tag list is rendered
Instead of retrieve all informations about entries of a tag to just count them, we’ll count them before with a fastest query.
Also change the layout of the tag list in material design
Diffstat (limited to 'src/Wallabag/CoreBundle/Repository/TagRepository.php')
-rw-r--r-- | src/Wallabag/CoreBundle/Repository/TagRepository.php | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Wallabag/CoreBundle/Repository/TagRepository.php b/src/Wallabag/CoreBundle/Repository/TagRepository.php index 9d127da7..e76878d4 100644 --- a/src/Wallabag/CoreBundle/Repository/TagRepository.php +++ b/src/Wallabag/CoreBundle/Repository/TagRepository.php | |||
@@ -33,19 +33,23 @@ class TagRepository extends EntityRepository | |||
33 | } | 33 | } |
34 | 34 | ||
35 | /** | 35 | /** |
36 | * Find all tags with associated entries per user. | 36 | * Find all tags per user. |
37 | * | 37 | * |
38 | * @param int $userId | 38 | * @param int $userId |
39 | * | 39 | * |
40 | * @return array | 40 | * @return array |
41 | */ | 41 | */ |
42 | public function findAllTagsWithEntries($userId) | 42 | public function findAllTags($userId) |
43 | { | 43 | { |
44 | return $this->createQueryBuilder('t') | 44 | return $this->createQueryBuilder('t') |
45 | ->select('t.slug', 't.label', 't.id') | ||
45 | ->leftJoin('t.entries', 'e') | 46 | ->leftJoin('t.entries', 'e') |
46 | ->where('e.user = :userId')->setParameter('userId', $userId) | 47 | ->where('e.user = :userId')->setParameter('userId', $userId) |
48 | ->groupBy('t.slug') | ||
49 | ->addGroupBy('t.label') | ||
50 | ->addGroupBy('t.id') | ||
47 | ->getQuery() | 51 | ->getQuery() |
48 | ->getResult(); | 52 | ->getArrayResult(); |
49 | } | 53 | } |
50 | 54 | ||
51 | /** | 55 | /** |