Passed
Push — master ( e288dc...71d24f )
by Richard
01:40
created

In   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 10
c 0
b 0
f 0
wmc 5

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getSql() 0 12 3
A matches() 0 2 2
1
<?php
2
namespace Maphper\Lib\Sql;
3
4
class In implements WhereConditional {
5
    public function matches($key, $value, $mode) {
6
        return !is_numeric($key) && is_array($value);
7
    }
8
9
    public function getSql($key, $value, $mode) {
10
        $args = [];
11
        $inSql = [];
12
        $count = count($value);
13
        for ($i = 0; $i < $count; $i++) {
14
            $args[$key . $i] = $value[$i];
15
            $inSql[] = ':' . $key . $i;
16
        }
17
        if (count($inSql) == 0) return [];
18
        else $sql = [$key . ' IN ( ' .  implode(', ', $inSql) . ')'];
19
20
        return ['args' => $args, 'sql' => $sql];
21
    }
22
}
23