src/EntityQueryBuilder.php
private function callWhereClauseFields($fieldName, $methodName, array $arguments = [], $condition = null)
    {
        $expr = null;

        switch ($methodName) {
            case 'GreaterThanEqual':
                $expr = $this->expr()->gte($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'GreaterThan':
                $expr = $this->expr()->gt($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'LessThanEqual':
                $expr = $this->expr()->lte($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'LessThan':
                $expr = $this->expr()->lt($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'NotEqual':
                $expr = $this->expr()->neq($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'Equal':
                $expr = $this->expr()->eq($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'NotIn':
                $expr = $this->expr()->notIn($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'In':
                $expr = $this->expr()->in($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'NotLike':
                $expr = $this->expr()->notLike($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'Like':
                $expr = $this->expr()->like($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'IsNull':
                $expr = $this->expr()->isNull($this->alias($fieldName));
                break;
            case 'IsNotNull':
                $expr = $this->expr()->isNotNull($this->alias($fieldName));
                break;
            case 'IsEmpty':
                $expr = $this->expr()->orX(
                    $this->expr()->eq($this->alias($fieldName), $this->param('')),
                    $this->expr()->isNull($this->alias($fieldName))
                );
                break;
            case 'IsNotEmpty':
                $expr = $this->expr()->andX(
                    $this->expr()->neq($this->alias($fieldName), $this->param('')),
                    $this->expr()->isNotNull($this->alias($fieldName))
                );
                break;
            default:
                // Do Nothing
                break;
        }

        if ($expr) {
            if ($condition === 'or') {
                $this->orWhere($expr);
            } else {
                $this->andWhere($expr);
            }
        }

        return $this;
    }
private function callWhereClauseFields($fieldName, $methodName, array $arguments = [], $condition = null)
    {
        $expr = null;

        switch ($methodName) {
            case 'GreaterThanEqual':
                $expr = $this->expr()->gte($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'GreaterThan':
                $expr = $this->expr()->gt($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'LessThanEqual':
                $expr = $this->expr()->lte($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'LessThan':
                $expr = $this->expr()->lt($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'NotEqual':
                $expr = $this->expr()->neq($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'Equal':
                $expr = $this->expr()->eq($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'NotIn':
                $expr = $this->expr()->notIn($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'In':
                $expr = $this->expr()->in($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'NotLike':
                $expr = $this->expr()->notLike($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'Like':
                $expr = $this->expr()->like($this->alias($fieldName), $this->param($arguments[0]));
                break;
            case 'IsNull':
                $expr = $this->expr()->isNull($this->alias($fieldName));
                break;
            case 'IsNotNull':
                $expr = $this->expr()->isNotNull($this->alias($fieldName));
                break;
            case 'IsEmpty':
                $expr = $this->expr()->orX(
                    $this->expr()->eq($this->alias($fieldName), $this->param('')),
                    $this->expr()->isNull($this->alias($fieldName))
                );
                break;
            case 'IsNotEmpty':
                $expr = $this->expr()->andX(
                    $this->expr()->neq($this->alias($fieldName), $this->param('')),
                    $this->expr()->isNotNull($this->alias($fieldName))
                );
                break;
            default:
                // Do Nothing
                break;
        }

        if ($expr) {
            if ($condition === 'or') {
                $this->orWhere($expr);
            } else {
                $this->andWhere($expr);
            }
        }

        return $this;
    }
A callWhereClauseFields function.

@param string $fieldName
@param string $methodName
@param array  $arguments
@param string $condition

@return $this This QueryBuilder instance.
@throws \ReflectionException