Skip to content

Commit

Permalink
add support to is null filter (#29)
Browse files Browse the repository at this point in the history
add support to is null filter
  • Loading branch information
kaioken authored Aug 20, 2019
2 parents e99d7e1 + 3bbd35e commit 5fc7e9a
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions src/QueryParserCustomFields.php
Original file line number Diff line number Diff line change
Expand Up @@ -400,14 +400,19 @@ private function prepareNormalSql(array $searchCriteria, string $classname, stri
$operator = 'LIKE';
}

if (!$vKey) {
$sql .= ' ' . $andOr . ' (' . $classname . '.' . $searchField . ' ' . $operator . ' :f' . $searchField . $fKey . $vKey;
if ($value == 'null') {
$logicConector = !$vKey ? " " . $andOr .' (' : ' OR ';
$sql .= $logicConector . $classname . '.' . $searchField . ' IS NULL';
} else {
$sql .= ' OR ' . $classname . '.' . $searchField . ' ' . $operator . ' :f' . $searchField . $fKey . $vKey;
}
if (!$vKey) {
$sql .= ' ' . $andOr . ' (' . $classname . '.' . $searchField . ' ' . $operator . ' :f' . $searchField . $fKey . $vKey;
} else {
$sql .= ' OR ' . $classname . '.' . $searchField . ' ' . $operator . ' :f' . $searchField . $fKey . $vKey;
}

$this->bindParamsKeys[] = 'f' . $searchField . $fKey . $vKey;
$this->bindParamsValues[] = $value;
$this->bindParamsKeys[] = 'f' . $searchField . $fKey . $vKey;
$this->bindParamsValues[] = $value;
}
}

$sql .= ')';
Expand Down

0 comments on commit 5fc7e9a

Please sign in to comment.