Completed
Pull Request — master (#147)
by
unknown
21:40 queued 11:18
created

findByDateRangeAndSlug()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 25
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 12
CRAP Score 3

Importance

Changes 1
Bugs 1 Features 0
Metric Value
cc 3
eloc 16
nc 4
nop 4
dl 0
loc 25
ccs 12
cts 12
cp 1
crap 3
rs 8.8571
c 1
b 1
f 0
1
<?php
2
3
namespace AppBundle\Repository;
4
5
class PerformanceEventRepository extends AbstractRepository
6
{
7
    /**
8
     * @param \DateTime $fromDate
9
     * @param \DateTime $toDate
10
     * @param string $limit
11
     * @param null $performanceSlug
12
     * @return mixed
13
     */
14 6
    public function findByDateRangeAndSlug(
15
        \DateTime $fromDate,
16
        \DateTime $toDate,
17
        $limit = null,
18
        $performanceSlug = null
19
    ) {
20 6
        $qb = $this->createQueryBuilder('u')
21 6
            ->where('u.dateTime BETWEEN :from AND :to')
22 6
            ->setParameter('from', $fromDate->format('Y-m-d H:i'))
23 6
            ->setParameter('to', $toDate->format('Y-m-d H:i'))
24 6
            ->orderBy('u.dateTime', 'ASC')
25
        ;
26
27 6
        if ($limit) {
0 ignored issues
show
Bug Best Practice introduced by
The expression $limit of type string|null is loosely compared to true; this is ambiguous if the string can be empty. You might want to explicitly use !== null instead.

In PHP, under loose comparison (like ==, or !=, or switch conditions), values of different types might be equal.

For string values, the empty string '' is a special case, in particular the following results might be unexpected:

''   == false // true
''   == null  // true
'ab' == false // false
'ab' == null  // false

// It is often better to use strict comparison
'' === false // false
'' === null  // false
Loading history...
28 3
            $qb->setMaxResults($limit);
29
        }
30
31 6
        if ($performanceSlug) {
32 2
            $qb->join('u.performance', 'p')->andWhere('p.slug = :slug')->setParameter('slug', $performanceSlug);
33
        }
34
35 6
        $query = $qb->getQuery();
36
37 6
        return $query->execute();
38
    }
39
}
40