diff --git a/composer.json b/composer.json index 5ec2c0b..dfe8065 100644 --- a/composer.json +++ b/composer.json @@ -29,13 +29,13 @@ }, "minimum-stability": "dev", "require": { - "illuminate/database": "^9.0||^8.0||^10.0||^11.0" + "illuminate/database": "^9.0||^8.0||^10.0||^11.0||^12.0" }, "suggest": { "jenssegers/mongodb": "Use QueryBuilderParser with MongoDB" }, "require-dev": { - "phpunit/phpunit": "^9.5||^8.5||^7.0||^10.5", + "phpunit/phpunit": "^9.5||^8.5||^7.0||^10.5||^11.0||^12.0", "mockery/mockery": "^1.3.1||^0.9.4" } } diff --git a/src/QueryBuilderParser/QueryBuilderParser.php b/src/QueryBuilderParser/QueryBuilderParser.php index f7e30de..93ab460 100644 --- a/src/QueryBuilderParser/QueryBuilderParser.php +++ b/src/QueryBuilderParser/QueryBuilderParser.php @@ -79,11 +79,11 @@ protected function loopThroughRules(array $rules, EloquentBuilder|Builder $query /* * If makeQuery does not see the correct fields, it will return the QueryBuilder without modifications */ - $querybuilder = $this->makeQuery($querybuilder, $rule, $queryCondition); - - if ($this->isNested($rule)) { - $querybuilder = $this->createNestedQuery($querybuilder, $rule, $queryCondition); - } + if ($this->isNested($rule)) { + $querybuilder = $this->createNestedQuery($querybuilder, $rule, $queryCondition); + } else { + $querybuilder = $this->makeQuery($querybuilder, $rule, $queryCondition); + } } return $querybuilder; diff --git a/tests/CommonQueryBuilderTests.php b/tests/CommonQueryBuilderTests.php index 1b5eef0..75ae3b2 100644 --- a/tests/CommonQueryBuilderTests.php +++ b/tests/CommonQueryBuilderTests.php @@ -56,9 +56,9 @@ protected function getParserUnderTest($fields = null) protected function createQueryBuilder() { $pdo = new \PDO('sqlite::memory:'); - $builder = new Builder(new Connection($pdo), new MySQLGrammar(), new MySQLProcessor()); - - return $builder; + $connection = new Connection($pdo); + + return new Builder($connection, new MySQLGrammar($connection), new MySQLProcessor()); } protected function makeJSONForInNotInTest($operator = 'in')