CategoryRepository::findBySearchQuery()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 14
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 14
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
1
<?php
2
3
namespace App\Repository;
4
5
use App\Entity\Category;
6
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
7
use Symfony\Bridge\Doctrine\RegistryInterface;
8
9
/**
10
 * @method Category|null find($id, $lockMode = null, $lockVersion = null)
11
 * @method Category|null findOneBy(array $criteria, array $orderBy = null)
12
 * @method Category[]    findAll()
13
 * @method Category[]    findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
14
 */
15
class CategoryRepository extends ServiceEntityRepository
16
{
17
    public function __construct(RegistryInterface $registry)
18
    {
19
        parent::__construct($registry, Category::class);
20
    }
21
22
    public function findBySearchQuery(array $searchTerms){
23
24
        $queryBuilder = $this->createQueryBuilder('p');
25
26
        foreach ($searchTerms as $key => $term) {
27
            $queryBuilder
28
                ->orWhere('p.Name LIKE :term_' . $key)
29
                ->setParameter('term_' . $key, '%' . $term . '%');
30
31
        }
32
33
        return $queryBuilder
34
            ->getQuery()
35
            ->getResult();
36
    }
37
}
38