@@ 5-23 (lines=19) @@ | ||
2 | ||
3 | namespace Isswp101\Persimmon\QueryBuilder\Filters; |
|
4 | ||
5 | class ParentFilter extends Filter |
|
6 | { |
|
7 | public function __construct($ids) |
|
8 | { |
|
9 | $ids = is_array($ids) ? $ids : [$ids]; |
|
10 | ||
11 | parent::__construct($ids); |
|
12 | } |
|
13 | ||
14 | public function query($values) |
|
15 | { |
|
16 | $query = [ |
|
17 | 'terms' => [ |
|
18 | '_parent' => $values |
|
19 | ] |
|
20 | ]; |
|
21 | return $query; |
|
22 | } |
|
23 | } |
@@ 5-22 (lines=18) @@ | ||
2 | ||
3 | namespace Isswp101\Persimmon\QueryBuilder\Filters; |
|
4 | ||
5 | class TermFilter extends Filter |
|
6 | { |
|
7 | public function __construct($key, $value) |
|
8 | { |
|
9 | parent::__construct([$key => $value]); |
|
10 | } |
|
11 | ||
12 | public function query($values) |
|
13 | { |
|
14 | $filter = is_array(head($values)) ? 'terms' : 'term'; |
|
15 | ||
16 | $query = [ |
|
17 | $filter => $values |
|
18 | ]; |
|
19 | ||
20 | return $query; |
|
21 | } |
|
22 | } |
|
23 |