diff --git a/src/Processor/FilterProcessor.php b/src/Processor/FilterProcessor.php index 222b62a..1882be7 100644 --- a/src/Processor/FilterProcessor.php +++ b/src/Processor/FilterProcessor.php @@ -32,6 +32,16 @@ public function process($src, OperationInterface $operation) $operator = FilterOperation::OPERATOR_LIKE; $value = '%' . $value . '%'; break; + case FilterOperation::OPERATOR_SET_CONTAINS: + $values = is_array($value) + ? $value + : array_map(function($value){ + return trim($value); + }, preg_split('/[\n\t\,\|\s]+/', trim($value)) + ); + + $src->whereIn($field, $values); + return $src; } $src->where($field, $operator, $value); return $src;