From 0cc4b18431026d2b98b99b060476db06ca0df283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Ma=C5=A1=C3=AD=C4=8Dek?= Date: Fri, 18 Aug 2023 17:54:50 +0200 Subject: [PATCH 1/2] Filtering - support FilterText conditions --- src/QueryObjectDataSource.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/QueryObjectDataSource.php b/src/QueryObjectDataSource.php index c530e23..f6cf566 100644 --- a/src/QueryObjectDataSource.php +++ b/src/QueryObjectDataSource.php @@ -138,11 +138,20 @@ public function filter(array $filters): void if ($filter->getConditionCallback()) { call_user_func($filter->getConditionCallback(), $this->queryObject, $filter->getValue()); } + elseif ($filter instanceof FilterText) { + foreach ($filter->getCondition() as $by => $value) { + $this->queryObject->by( + $by, + $value, + false + ); + } + } elseif (!$filter instanceof FilterDateRange) { $this->queryObject->by( $filter instanceof OneColumnFilter ? $filter->getColumn() : $filter->getKey(), $filter->getValue(), - !$filter instanceof FilterText + true ); } } From bd26d443bcc3da14df92a5bba93fa2f48301ad2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viktor=20Ma=C5=A1=C3=AD=C4=8Dek?= Date: Fri, 18 Aug 2023 18:21:47 +0200 Subject: [PATCH 2/2] Filtering - support FilterText conditions with OR --- src/QueryObjectDataSource.php | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/QueryObjectDataSource.php b/src/QueryObjectDataSource.php index f6cf566..7c28df3 100644 --- a/src/QueryObjectDataSource.php +++ b/src/QueryObjectDataSource.php @@ -139,13 +139,12 @@ public function filter(array $filters): void call_user_func($filter->getConditionCallback(), $this->queryObject, $filter->getValue()); } elseif ($filter instanceof FilterText) { - foreach ($filter->getCondition() as $by => $value) { - $this->queryObject->by( - $by, - $value, - false - ); - } + $by = array_keys($filter->getCondition()); + $value = $filter->getCondition()[$by[0]]; + $this->queryObject->by( + $by, + $value, + false); } elseif (!$filter instanceof FilterDateRange) { $this->queryObject->by(