Completed
Push — master ( df6e71...654afb )
by Tobias
08:15
created

Slice::modify()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 8
rs 9.4285
cc 2
eloc 4
nc 2
nop 2
1
<?php
2
3
namespace Happyr\DoctrineSpecification\Query;
4
5
use Doctrine\ORM\QueryBuilder;
6
7
class Slice implements QueryModifier
8
{
9
    /**
10
     * @var int
11
     */
12
    private $sliceSize;
13
14
    /**
15
     * @var int
16
     */
17
    private $sliceNumber = 0;
18
19
    /**
20
     * @param int $sliceSize
21
     * @param int $sliceNumber
22
     */
23
    public function __construct($sliceSize, $sliceNumber = 0)
24
    {
25
        $this->sliceSize = $sliceSize;
26
        $this->sliceNumber = $sliceNumber;
27
    }
28
29
    /**
30
     * @param QueryBuilder $qb
31
     * @param string       $dqlAlias
32
     */
33
    public function modify(QueryBuilder $qb, $dqlAlias)
34
    {
35
        $qb->setMaxResults($this->sliceSize);
36
37
        if ($this->sliceNumber > 0) {
38
            $qb->setFirstResult($this->sliceNumber * $this->sliceSize);
39
        }
40
    }
41
}
42