namespace Wallabag\CoreBundle\Repository;
use Doctrine\ORM\EntityRepository;
+use Doctrine\ORM\Query;
use Pagerfanta\Adapter\DoctrineORMAdapter;
use Pagerfanta\Pagerfanta;
use Wallabag\CoreBundle\Entity\Tag;
;
}
+ /**
+ * Retrieves untagged entries for a user.
+ *
+ * @param int $userId
+ *
+ * @return QueryBuilder
+ */
+ public function getBuilderForUntaggedByUser($userId)
+ {
+ return $this
+ ->getBuilderByUser($userId)
+ ->leftJoin('e.tags', 't')
+ ->groupBy('e.id')
+ ->having('count(t.id) = 0');
+ }
+
/**
* Find Entries.
*
* @param bool $isStarred
* @param string $sort
* @param string $order
+ * @param int $since
+ * @param string $tags
*
* @return array
*/
$this->getEntityManager()->flush();
}
+ /**
+ * Remove tags from all user entries.
+ *
+ * @param int $userId
+ * @param Array<Tag> $tags
+ */
+ public function removeTags($userId, $tags)
+ {
+ foreach ($tags as $tag) {
+ $this->removeTag($userId, $tag);
+ }
+ }
+
/**
* Find all entries that are attached to a give tag id.
*