Failed Conditions
Push — master ( bc79fb...9e41f7 )
by Denis
02:47
created

NotIn::getName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types = 1);
2
3
namespace Artprima\QueryFilterBundle\Query\Condition;
4
5
use Doctrine\ORM\QueryBuilder;
6
7
/**
8
 * Class NotIn
9
 *
10
 * @author Denis Voytyuk <[email protected]>
11
 *
12
 * @package Artprima\QueryFilterBundle\Query\Condition
13
 */
14
class NotIn implements ConditionInterface
15
{
16
    public function getExpr(QueryBuilder $qb, string $field, int $index, array $val)
17
    {
18
        $values = explode(',', $val['val'] ?? '');
19
        $values = array_map('trim', $values);
20
        $expr = $qb->expr()->notIn($field, '?' . $index);
21
        $qb->setParameter($index, $values);
22
23
        return $expr;
24
    }
25
26
    public function getName(): string
27
    {
28
        return 'not in';
29
    }
30
}