diff --git a/src/Database/Expression/QueryExpression.php b/src/Database/Expression/QueryExpression.php index 3f996e00532..1336d614230 100644 --- a/src/Database/Expression/QueryExpression.php +++ b/src/Database/Expression/QueryExpression.php @@ -434,6 +434,11 @@ protected function _addConditions(array $conditions, array $types) { if ($numericKey && empty($c)) { continue; } + + if (is_callable($c)) { + $expr = new QueryExpression([], $typeMap); + $c = $c($expr, $this); + } if ($numericKey && is_string($c)) { $this->_conditions[] = $c;