UserRepository::findByRole()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace App\Repository;
4
5
use App\Entity\User;
6
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
7
use Symfony\Bridge\Doctrine\RegistryInterface;
8
9
/**
10
 * @method User|null find($id, $lockMode = null, $lockVersion = null)
11
 * @method User|null findOneBy(array $criteria, array $orderBy = null)
12
 * @method User[]    findAll()
13
 * @method User[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
14
 */
15
class UserRepository extends ServiceEntityRepository
16
{
17
    public function __construct(RegistryInterface $registry)
18
    {
19
        parent::__construct($registry, User::class);
20
    }
21
22
    // /**
23
    //  * @return User[] Returns an array of User objects
24
    //  */
25
    /*
26
    public function findByExampleField($value)
27
    {
28
        return $this->createQueryBuilder('u')
29
            ->andWhere('u.exampleField = :val')
30
            ->setParameter('val', $value)
31
            ->orderBy('u.id', 'ASC')
32
            ->setMaxResults(10)
33
            ->getQuery()
34
            ->getResult()
35
        ;
36
    }
37
    */
38
39
    /*
40
    public function findOneBySomeField($value): ?User
41
    {
42
        return $this->createQueryBuilder('u')
43
            ->andWhere('u.exampleField = :val')
44
            ->setParameter('val', $value)
45
            ->getQuery()
46
            ->getOneOrNullResult()
47
        ;
48
    }
49
    */
50
51
    /**
52
     * @param array $roles
53
     * @return array
54
     */
55
    public function findByRole($roles = []): array
56
    {
57
        return $this->createQueryBuilder('u')
58
            ->andWhere('u.roles LIKE :role')
59
            ->setParameter('role', '%"'.$roles.'"%')
0 ignored issues
show
Bug introduced by
Are you sure $roles of type array can be used in concatenation? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-type  annotation

59
            ->setParameter('role', '%"'./** @scrutinizer ignore-type */ $roles.'"%')
Loading history...
60
            ->getQuery()
61
            ->execute()
62
            ;
63
    }
64
}
65