From 91cb5c0e212985c03d19e2826d1f125363f44057 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Tue, 1 Jun 2021 11:31:44 -0400 Subject: [PATCH] Fix issue processwire/processwire-issues#1389 --- wire/core/PagesRaw.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/wire/core/PagesRaw.php b/wire/core/PagesRaw.php index 3d493562..167a9bc9 100644 --- a/wire/core/PagesRaw.php +++ b/wire/core/PagesRaw.php @@ -732,9 +732,14 @@ class PagesRawFinder extends Wire { $idsCSV = &$this->ids; $colSQL = $getAllCols ? '*' : '`' . implode('`,`', $getCols) . '`'; if(!$getAllCols && !in_array('pages_id', $getCols)) $colSQL .= ',`pages_id`'; + + $orderby = array(); + if(!count($this->nativeFields)) $orderby[] = "FIELD(pages_id, $idsCSV)"; + if(count($sorts)) $orderby[] = implode(',', $sorts); + $sql = "SELECT $colSQL FROM `$table` WHERE pages_id IN($idsCSV) "; - if(count($sorts)) $sql .= "ORDER BY " . implode(',', $sorts); - + if(count($orderby)) $sql .= "ORDER BY " . implode(',', $orderby); + $query = $database->prepare($sql); $query->execute();