Completed
Pull Request — dev (#40)
by
unknown
03:50
created

FormRequestRepository   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 3
dl 0
loc 32
ccs 0
cts 25
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
C selectRequestFormsByParams() 0 29 7
1
<?php
2
3
namespace AppBundle\Repository;
4
5
use AppBundle\Entity\DTO\Filter;
6
7
/**
8
 * FormRequestRepository.
9
 *
10
 * This class was generated by the Doctrine ORM. Add your own custom
11
 * repository methods below.
12
 */
13
class FormRequestRepository extends \Doctrine\ORM\EntityRepository
14
{
15
    public function selectRequestFormsByParams(Filter $filter)
16
    {
17
        $query = $this->createQueryBuilder('f')
18
            ->leftJoin('f.type', 't')
19
            ->leftJoin('f.user', 'u')
20
            ->orderBy('f.createdAt', 'DESC')
21
        ;
22
23
        if ($filter->type && $filter->type != 'All') {
24
            $query->andWhere('t.name = ?1')
25
                ->setParameter('1', $filter->type)
26
            ;
27
        }
28
29
        if ($filter->decision && $filter->decision != 'All') {
30
            $query->andWhere('f.status = ?2')
31
                ->setParameter('2', $filter->decision)
32
            ;
33
        }
34
35
        if ($filter->start && $filter->end) {
36
                $query->andWhere('f.createdAt BETWEEN ?3 AND ?4')
37
                    ->setParameter('3', $filter->getStart())
38
                    ->setParameter('4', $filter->getEnd())
39
                ;
40
        }
41
42
        return $query->getQuery();
43
    }
44
}
45