|
- <?php
-
- namespace Lc\SovBundle\Repository\User;
-
- use App\Entity\Merchant\Merchant;
- use App\Entity\Newsletter\Newsletter;
- use Knp\Component\Pager\PaginatorInterface;
- use Lc\SovBundle\Repository\AbstractRepositoryQuery;
-
- class UserRepositoryQuery extends AbstractRepositoryQuery implements UserRepositoryQueryInterface
- {
- public function __construct(UserRepository $repository, PaginatorInterface $paginator)
- {
- parent::__construct($repository, 'r', $paginator);
- }
-
- 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);
- }
-
- }
|