diff --git a/src/Database/Expression/QueryExpression.php b/src/Database/Expression/QueryExpression.php index f3c500b7916..54115c0115b 100644 --- a/src/Database/Expression/QueryExpression.php +++ b/src/Database/Expression/QueryExpression.php @@ -447,7 +447,13 @@ public function count() */ public function equalFields($left, $right) { - return $this->eq(new IdentifierExpression($left), new IdentifierExpression($right)); + $wrapIdentifier = function($field) { + if ($field instanceof ExpressionInterface) { + return $field; + } + return new IdentifierExpression($field); + }; + return $this->eq($wrapIdentifier($left), $wrapIdentifier($right)); } /**