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

NotIn   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
dl 0
loc 15
ccs 0
cts 11
cp 0
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getName() 0 3 1
A getExpr() 0 8 1
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
}