diff --git a/src/QueryFilter/Queries/QueryBuilder.php b/src/QueryFilter/Queries/QueryBuilder.php index 2aa819c3..d98bc7c8 100644 --- a/src/QueryFilter/Queries/QueryBuilder.php +++ b/src/QueryFilter/Queries/QueryBuilder.php @@ -56,7 +56,7 @@ public function buildQuery($field, array $params) $this->queryFilterBuilder->whereByOpt($field, $params); } elseif (is_array($params[0])) { $this->queryFilterBuilder->whereIn("$field", $params[0]); - } else { + } elseif (!empty($params[0])) { $this->queryFilterBuilder->where("$field", $params[0]); } } diff --git a/src/QueryFilter/Queries/QueryFilterBuilder.php b/src/QueryFilter/Queries/QueryFilterBuilder.php index 7eadb988..1e1621af 100644 --- a/src/QueryFilter/Queries/QueryFilterBuilder.php +++ b/src/QueryFilter/Queries/QueryFilterBuilder.php @@ -68,7 +68,14 @@ public function whereByOpt($field, $params) */ public function whereIn($field, array $params) { - $this->builder->whereIn("$field", $params); + foreach ($params as $key => $value) { + if (is_null($value) || $value == '') { + unset($params[$key]); + } + } + if (!empty($params)) { + $this->builder->whereIn("$field", $params); + } } /** diff --git a/tests/Tests/CategoryFilterTest.php b/tests/Tests/CategoryFilterTest.php index 0f3cbce6..d8b86524 100644 --- a/tests/Tests/CategoryFilterTest.php +++ b/tests/Tests/CategoryFilterTest.php @@ -25,7 +25,6 @@ public function itCanGetCategoryByCategoryAndDateNull() $request->merge( [ 'category' => 'Html', - 'created_at' => null, ] ); $modelfilter = new ModelFilters( @@ -35,7 +34,6 @@ public function itCanGetCategoryByCategoryAndDateNull() $category = CategoriesController::filterCategory($modelfilter); $category_pure = Category::where([ 'category' => 'Html', - 'created_at' => null, ])->get(); $this->assertEquals($category, $category_pure);