diff --git a/app/Http/Controllers/Frontend/PlasmidController.php b/app/Http/Controllers/Frontend/PlasmidController.php index d9c272c258b773d2bcaee28409e20881fae9ca3a..83dffb93d1fef12300b469d79ce4955a17a9272e 100644 --- a/app/Http/Controllers/Frontend/PlasmidController.php +++ b/app/Http/Controllers/Frontend/PlasmidController.php @@ -30,7 +30,9 @@ class PlasmidController extends Controller if (request()->ajax()) { $query = Plasmid::query()->when(request()->searchBuilder, function ($query, $searchBuilderAjaxRequest) { $criteria = $searchBuilderAjaxRequest['criteria']; + \Log::debug($criteria); $logic = $searchBuilderAjaxRequest['logic']; + \Log::debug($logic); $query = $this->buildRecursiveQuery($query, $criteria, $logic); }); diff --git a/app/Traits/Frontend/SearchBuilder.php b/app/Traits/Frontend/SearchBuilder.php index 1b0c9979fb3ac586cac8c19b7c7ebcf71d3ce6b2..4348075448a5cf9ded9736e85e85b6646f0f1fbc 100644 --- a/app/Traits/Frontend/SearchBuilder.php +++ b/app/Traits/Frontend/SearchBuilder.php @@ -13,9 +13,15 @@ trait SearchBuilder // Recursive $subCriteria = $item['criteria']; $subLogic = $item['logic']; - $query->where(function ($query) use ($subCriteria, $subLogic) { - $this->buildRecursiveQuery($query, $subCriteria, $subLogic); - }); + if ($logic == 'OR') { + $query->orWhere(function ($query) use ($subCriteria, $subLogic) { + $this->buildRecursiveQuery($query, $subCriteria, $subLogic); + }); + } else { + $query->where(function ($query) use ($subCriteria, $subLogic) { + $this->buildRecursiveQuery($query, $subCriteria, $subLogic); + }); + } } else { // Apply criteria