|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- <?php
-
- namespace Lc\ShopBundle\Repository;
-
- use Lc\ShopBundle\Context\DefaultRepositoryInterface;
- use Lc\ShopBundle\Context\UserInterface;
-
- /**
- * @method UserInterface|null find($id, $lockMode = null, $lockVersion = null)
- * @method UserInterface|null findOneBy(array $criteria, array $orderBy = null)
- * @method UserInterface[] findAll()
- * @method UserInterface[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
- */
- class UserRepository extends BaseRepository implements DefaultRepositoryInterface
- {
- public function getInterfaceClass()
- {
- return UserInterface::class;
- }
-
- public function findAllByNewsletter($newsletter)
- {
- return $this->createQueryBuilder('e')
- ->where(':newsletter MEMBER OF e.newsletters')
- ->setParameter('newsletter', $newsletter->getId())
- ->andWhere('e.enabled = 1')
- ->innerJoin('e.userMerchants', 'um')
- ->andWhere('um.merchant = :merchant AND um.active = 1')
- ->setParameter('merchant', $newsletter->getMerchant())
- ->getQuery()
- ->getResult();
- }
-
- public function findByRole($role)
- {
- $qb = $this->createQueryBuilder('u')
- ->where('u.roles LIKE :roles')
- ->setParameter('roles', '%"' . $role . '"%');
-
- return $qb->getQuery()->getResult();
- }
-
- }
|