Skip to content

Commit 3a79a7c

Browse files
committed
feat: nullable field on where and join conditions
1 parent 8e2fdc1 commit 3a79a7c

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

includes/classes/API.php

+11-1
Original file line numberDiff line numberDiff line change
@@ -797,6 +797,9 @@ private function get($query, $db = null)
797797
// bind WHERE values
798798
if (!empty($where_values) && count($where_values) > 0) {
799799
foreach ($where_values as $key => $value) {
800+
if (is_string($value) && strtolower($value) === 'null') {
801+
$value = null;
802+
}
800803
$type = self::detectPDOType($value);
801804
$key = ':' . $key;
802805
$sql_compiled = preg_replace('/(' . preg_quote($key, '/') . ")([,]|\s|$|\))/i", "'" . $value . "'$2", $sql_compiled);
@@ -807,6 +810,9 @@ private function get($query, $db = null)
807810
// bind JOIN values
808811
if (!empty($join_values) && count($join_values) > 0) {
809812
foreach ($join_values as $key => $value) {
813+
if (is_string($value) && strtolower($value) === 'null') {
814+
$value = null;
815+
}
810816
$type = self::detectPDOType($value);
811817
$key = ':' . $key;
812818
$sql_compiled = preg_replace('/(' . preg_quote($key, '/') . ")([,]|\s|$|\))/i", "'" . $value . "'$2", $sql_compiled);
@@ -1067,9 +1073,13 @@ private function patch($query, $db = null)
10671073
// bind WHERE values
10681074
if (!empty($where_values) && count($where_values) > 0) {
10691075
foreach ($where_values as $key => $value) {
1076+
if (is_string($value) && strtolower($value) === 'null') {
1077+
$value = null;
1078+
}
1079+
$type = self::detectPDOType($value);
10701080
$key = ':' . $key;
10711081
$sql_compiled = self::debugCompileSQL($sql_compiled, $key, $value);
1072-
$sth->bindValue($key, $value);
1082+
$sth->bindValue($key, $value, $type);
10731083
}
10741084
}
10751085

0 commit comments

Comments
 (0)