X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FRepository%2FTagRepository.php;h=e76878d49d6e7cc5bb06c0f2a1d8227ef2bec4bc;hb=2a5ff7f5548cec5b7c611577ddb897b310eb161d;hp=f5c4ea6a036bea3bcc56987ec475d8495d17533d;hpb=faa86e06ba3032fdb98f3c0f79c72e8581d3c96f;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Repository/TagRepository.php b/src/Wallabag/CoreBundle/Repository/TagRepository.php index f5c4ea6a..e76878d4 100644 --- a/src/Wallabag/CoreBundle/Repository/TagRepository.php +++ b/src/Wallabag/CoreBundle/Repository/TagRepository.php @@ -7,17 +7,17 @@ use Doctrine\ORM\EntityRepository; class TagRepository extends EntityRepository { /** - * Find all tags per user. + * Count all tags per user. * * @param int $userId * @param int $cacheLifeTime Duration of the cache for this query * - * @return array + * @return int */ - public function findAllTags($userId, $cacheLifeTime = null) + public function countAllTags($userId, $cacheLifeTime = null) { $query = $this->createQueryBuilder('t') - ->select('t') + ->select('t.slug') ->leftJoin('t.entries', 'e') ->where('e.user = :userId')->setParameter('userId', $userId) ->groupBy('t.slug') @@ -29,23 +29,27 @@ class TagRepository extends EntityRepository $query->setResultCacheLifetime($cacheLifeTime); } - return $query->getArrayResult(); + return count($query->getArrayResult()); } /** - * Find all tags with associated entries per user. + * Find all tags per user. * * @param int $userId * * @return array */ - public function findAllTagsWithEntries($userId) + public function findAllTags($userId) { return $this->createQueryBuilder('t') + ->select('t.slug', 't.label', 't.id') ->leftJoin('t.entries', 'e') ->where('e.user = :userId')->setParameter('userId', $userId) + ->groupBy('t.slug') + ->addGroupBy('t.label') + ->addGroupBy('t.id') ->getQuery() - ->getResult(); + ->getArrayResult(); } /**