| @@ 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 | ||