From 0384408f75e032565aefc6bfbaba38c572516b49 Mon Sep 17 00:00:00 2001 From: "francois-charles.heb" Date: Wed, 9 Jul 2025 12:53:49 -0400 Subject: [PATCH 1/3] Laravel 12 compatibility --- composer.json | 4 ++-- tests/CommonQueryBuilderTests.php | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) 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/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') From 76a00536d6a84c16ffb86d3dd268dc3f0422984c Mon Sep 17 00:00:00 2001 From: "francois-charles.heb" Date: Wed, 16 Jul 2025 13:21:57 -0400 Subject: [PATCH 2/3] apply fix from issue #66 --- src/QueryBuilderParser/QueryBuilderParser.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/QueryBuilderParser/QueryBuilderParser.php b/src/QueryBuilderParser/QueryBuilderParser.php index f7e30de..4924e6b 100644 --- a/src/QueryBuilderParser/QueryBuilderParser.php +++ b/src/QueryBuilderParser/QueryBuilderParser.php @@ -79,11 +79,17 @@ 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); - } + // $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; From fe130e28a0bd122ddce0874223dcf82f2eeda29f Mon Sep 17 00:00:00 2001 From: "francois-charles.heb" Date: Wed, 16 Jul 2025 13:32:37 -0400 Subject: [PATCH 3/3] remove commented code --- src/QueryBuilderParser/QueryBuilderParser.php | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/QueryBuilderParser/QueryBuilderParser.php b/src/QueryBuilderParser/QueryBuilderParser.php index 4924e6b..93ab460 100644 --- a/src/QueryBuilderParser/QueryBuilderParser.php +++ b/src/QueryBuilderParser/QueryBuilderParser.php @@ -79,12 +79,6 @@ 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 {