From e8f8317b4821b997da7233f79bb1dd3bf1314d07 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 2 May 2025 11:46:44 -0400 Subject: [PATCH] Fix issue processwire/processwire-issues#2067 --- wire/core/PageFinder.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/wire/core/PageFinder.php b/wire/core/PageFinder.php index e121a0ed..28b522f5 100644 --- a/wire/core/PageFinder.php +++ b/wire/core/PageFinder.php @@ -1836,7 +1836,12 @@ class PageFinder extends Wire { if(in_array($operator, array('=', '!=', '<', '<=', '>', '>='))) { // we only accommodate this optimization for single-value selectors... if($this->whereEmptyValuePossible($field, $subfield, $selector, $query, $value, $whereFields)) { - if(count($valueArray) > 1 && $operator == '=') $whereFieldsType = 'OR'; + if(count($valueArray) > 1) { + if($operator == '=') $whereFieldsType = 'OR'; + } else { + $fieldCnt[$field->table]--; + if($fieldCnt[$field->table] < 1) unset($fieldCnt[$field->table]); + } continue; } } @@ -2241,6 +2246,7 @@ class PageFinder extends Wire { } $query->leftjoin("$table AS $tableAlias ON $tableAlias.pages_id=pages.id"); + bd("leftjoin $table as $tableAlias on $tableAlias.pages_id=pages.id"); $where .= strlen($where) ? " $whereType ($sql)" : "($sql)"; return true;