Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use wildcard character matches only for Filter\Similar or Filter\Unli…
Browse files Browse the repository at this point in the history
…ke instances.
raviks789 committed May 9, 2022
1 parent 0f31551 commit 53e9fb2
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/Compat/FilterProcessor.php
Original file line number Diff line number Diff line change
@@ -65,28 +65,28 @@ public static function assemblePredicate(Filter\Condition $filter)
if (is_array($expression)) {
if ($filter instanceof Filter\UnEqual) {
return ["($column NOT IN (?) OR $column IS NULL)" => $expression];
} elseif ($filter instanceof Filter\Equal) {
} elseif ($filter instanceof Filter\Equal || $filter instanceof Filter\Similar) {
return ["$column IN (?)" => $expression];
}

throw new InvalidArgumentException(
'Unable to render array expressions with operators other than equal or not equal'
);
} elseif (
($filter instanceof Filter\Equal || $filter instanceof Filter\Unequal)
($filter instanceof Filter\Similar || $filter instanceof Filter\Unlike)
&& strpos($expression, '*') !== false
) {
if ($expression === '*') {
return ["$column IS " . ($filter instanceof Filter\Equal ? 'NOT ' : '') . 'NULL'];
} elseif ($filter instanceof Filter\Unequal) {
return ["$column IS " . ($filter instanceof Filter\Similar ? 'NOT ' : '') . 'NULL'];
} elseif ($filter instanceof Filter\Unlike) {
return ["($column NOT LIKE ? OR $column IS NULL)" => str_replace('*', '%', $expression)];
} else {
return ["$column LIKE ?" => str_replace('*', '%', $expression)];
}
} elseif ($filter instanceof Filter\Unequal) {
} elseif ($filter instanceof Filter\Unequal || $filter instanceof Filter\Unlike) {
return ["($column != ? OR $column IS NULL)" => $expression];
} else {
if ($filter instanceof Filter\Equal) {
if ($filter instanceof Filter\Similar || $filter instanceof Filter\Equal) {
$operator = '=';
} elseif ($filter instanceof Filter\GreaterThan) {
$operator = '>';

0 comments on commit 53e9fb2

Please sign in to comment.