isJoinGroupUsers) { $this->isJoinGroupUsers = true; $this->leftJoin('.groupUsers', 'groupUsers'); if($addSelect){ $this->addSelect('groupUsers'); } } return $this; } public function filterByNewsletter(Newsletter $newsletter): self { return $this ->andWhere(':newsletter MEMBER OF .newsletters') ->setParameter('newsletter', $newsletter->getId()); } public function filterByRole(string $role): self { return $this ->andWhere('.roles LIKE :roles') ->setParameter('roles', '%"' . $role . '"%'); } public function filterByTicketTypeNotification(string $ticketType): self { return $this ->andWhere('.ticketTypesNotification LIKE :ticketType') ->setParameter('ticketType', '%"' . $ticketType . '"%'); } public function filterByEmail(string $email): self { return $this ->andWhere('.email LIKE :email') ->setParameter('email', $email); } public function filterByTerm(string $term): self { return $this ->andWhere('.email LIKE :term OR .firstname LIKE :term OR .lastname LIKE :term') ->setParameter('term', '%'.$term.'%'); } }