AbstractRepository   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 26
c 3
b 0
f 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A addEqualFilter() 0 5 1
A addLikeFilter() 0 5 1
1
<?php
2
3
namespace Dominikzogg\EnergyCalculator\Repository;
4
5
use Doctrine\ORM\EntityRepository;
6
use Doctrine\ORM\QueryBuilder;
7
use Saxulum\Crud\Repository\QueryBuilderForFilterFormInterface;
8
9
abstract class AbstractRepository extends EntityRepository implements QueryBuilderForFilterFormInterface
10
{
11
    /**
12
     * @param QueryBuilder $qb
13
     * @param string       $alias
14
     * @param string       $property
15
     * @param mixed        $value
16
     */
17
    protected function addEqualFilter(QueryBuilder $qb, $alias, $property, $value)
18
    {
19
        $qb->andWhere($qb->expr()->eq($alias.'.'.$property, ':'.$property));
20
        $qb->setParameter($property, $value);
21
    }
22
23
    /**
24
     * @param QueryBuilder $qb
25
     * @param string       $alias
26
     * @param string       $property
27
     * @param mixed        $value
28
     */
29
    protected function addLikeFilter(QueryBuilder $qb, $alias, $property, $value)
30
    {
31
        $qb->andWhere($qb->expr()->like($alias.'.'.$property, ':'.$property));
32
        $qb->setParameter($property, '%'.$value.'%');
33
    }
34
}
35