From 5d475c5f29dafb4b706d89208c0a49e003f1afa8 Mon Sep 17 00:00:00 2001 From: Ryan Peel Date: Tue, 12 Jan 2021 16:43:45 +0200 Subject: [PATCH 1/4] fix: added default value to the $joins variable on applyFilter function Fixes artisan crash when running PHP v8 --- src/EloquentBuilderTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EloquentBuilderTrait.php b/src/EloquentBuilderTrait.php index 4df1d12..40ccf5d 100644 --- a/src/EloquentBuilderTrait.php +++ b/src/EloquentBuilderTrait.php @@ -103,7 +103,7 @@ protected function applyFilterGroups(Builder $queryBuilder, array $filterGroups * @param bool|false $or * @param array $joins */ - protected function applyFilter(Builder $queryBuilder, array $filter, $or = false, array &$joins) + protected function applyFilter(Builder $queryBuilder, array $filter, $or = false, array &$joins = []) { // Destructure Shorthand Filtering Syntax if filter is Shorthand if (! array_key_exists('key', $filter) && count($filter) >= 3) { From ff0f354c5078e875a6d9f790f1f57360c12e2ad7 Mon Sep 17 00:00:00 2001 From: Ryan Peel Date: Wed, 8 Sep 2021 16:53:47 +0200 Subject: [PATCH 2/4] fix: removed default values from applyFilter function This is a better fix for this PHP 8 deprecated feature: https://stackoverflow.com/a/65297280/518704 As @gruz suggests, `$or` does not need a default value as `filter_var($or, FILTER_VALIDATE_BOOLEAN)` resolves to false by default on line 130. --- src/EloquentBuilderTrait.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/EloquentBuilderTrait.php b/src/EloquentBuilderTrait.php index 40ccf5d..f0a9aa1 100644 --- a/src/EloquentBuilderTrait.php +++ b/src/EloquentBuilderTrait.php @@ -103,7 +103,7 @@ protected function applyFilterGroups(Builder $queryBuilder, array $filterGroups * @param bool|false $or * @param array $joins */ - protected function applyFilter(Builder $queryBuilder, array $filter, $or = false, array &$joins = []) + protected function applyFilter(Builder $queryBuilder, array $filter, $or, array &$joins) { // Destructure Shorthand Filtering Syntax if filter is Shorthand if (! array_key_exists('key', $filter) && count($filter) >= 3) { From b446299223e06ac9f5ca80f62351c44f9a47d897 Mon Sep 17 00:00:00 2001 From: Ryan Peel Date: Wed, 22 Feb 2023 08:25:11 +0200 Subject: [PATCH 3/4] fix: adding laravel 9 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 47dfc77..a134e24 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,7 @@ } }, "require": { - "laravel/framework": "~6.0|~7.0|~8.0", + "laravel/framework": "~6.0|~7.0|~8.0|~9.0", "optimus/architect": "~2.0" }, "require-dev": { From e7b2b400327d107f2f10bb77631167975d208205 Mon Sep 17 00:00:00 2001 From: Esben Petersen Date: Mon, 4 Jul 2022 15:11:35 +0200 Subject: [PATCH 4/4] fix --- src/LaravelController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/LaravelController.php b/src/LaravelController.php index 8b355b2..e4cab1c 100644 --- a/src/LaravelController.php +++ b/src/LaravelController.php @@ -125,9 +125,9 @@ protected function parseFilterGroups(array $filter_groups) $or = false; if (array_key_exists('or', $group)) { if ($group['or'] === 'true') { - $group['or'] = true; + $or = true; } else if ($group['or'] === 'false') { - $group['or'] = false; + $or = false; } }