X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2FWallabag%2FCoreBundle%2FRepository%2FTagRepository.php;h=41f616079dd53f69032512adf6a1bfb176b98657;hb=9d7dd6b0d2480d3efff5b0ab1461f2ef99bfd57a;hp=c4aeb5949f79fe76a69b8427300dfe625f283d4e;hpb=dad1c546a521159ca65a5a7649651d37728f0e55;p=github%2Fwallabag%2Fwallabag.git diff --git a/src/Wallabag/CoreBundle/Repository/TagRepository.php b/src/Wallabag/CoreBundle/Repository/TagRepository.php index c4aeb594..41f61607 100644 --- a/src/Wallabag/CoreBundle/Repository/TagRepository.php +++ b/src/Wallabag/CoreBundle/Repository/TagRepository.php @@ -3,19 +3,17 @@ namespace Wallabag\CoreBundle\Repository; use Doctrine\ORM\EntityRepository; -use Pagerfanta\Adapter\DoctrineORMAdapter; -use Pagerfanta\Pagerfanta; class TagRepository extends EntityRepository { /** - * Return only the QueryBuilder to retrieve all tags for a given user. + * Find Tags. * * @param int $userId * - * @return QueryBuilder + * @return array */ - private function getQbForAllTags($userId) + public function findAllTags($userId) { return $this->createQueryBuilder('t') ->leftJoin('t.entries', 'e') @@ -23,32 +21,18 @@ class TagRepository extends EntityRepository } /** - * Find Tags and return a Pager. - * - * @param int $userId - * - * @return Pagerfanta - */ - public function findTags($userId) - { - $qb = $this->getQbForAllTags($userId); - - $pagerAdapter = new DoctrineORMAdapter($qb); - - return new Pagerfanta($pagerAdapter); - } - - /** - * Find Tags. - * - * @param int $userId + * Used only in test case to get a tag for our entry. * - * @return array + * @return Tag */ - public function findAllTags($userId) + public function findOneByEntryAndTagLabel($entry, $label) { - return $this->getQbForAllTags($userId) + return $this->createQueryBuilder('t') + ->leftJoin('t.entries', 'e') + ->where('e.id = :entryId')->setParameter('entryId', $entry->getId()) + ->andWhere('t.label = :label')->setParameter('label', $label) + ->setMaxResults(1) ->getQuery() - ->getResult(); + ->getSingleResult(); } }