From 87f798f94f5c75ff3af991cca67a820a64e40596 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Mon, 19 Jun 2023 02:15:35 +0900 Subject: [PATCH] Support page = 0 and offset > 0 in getDocumentList() to avoid unnecessary count query --- modules/document/document.model.php | 11 +++++++++-- modules/document/queries/getDocumentList.xml | 1 + .../document/queries/getDocumentListByMemberSrl.xml | 1 + modules/document/queries/getDocumentListExtraSort.xml | 1 + modules/document/queries/getDocumentListUseIndex.xml | 1 + .../document/queries/getDocumentListWithExtraVars.xml | 1 + .../document/queries/getDocumentListWithinComment.xml | 1 + .../queries/getDocumentListWithinExtraVars.xml | 1 + .../getDocumentListWithinExtraVarsExtraSort.xml | 1 + .../document/queries/getDocumentListWithinMember.xml | 1 + modules/document/queries/getDocumentListWithinTag.xml | 1 + 11 files changed, 19 insertions(+), 2 deletions(-) diff --git a/modules/document/document.model.php b/modules/document/document.model.php index 74babbc4c..cf8a89a50 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -1351,9 +1351,16 @@ class DocumentModel extends Document } $args->order_type = (isset($searchOpt->order_type) && $searchOpt->order_type === 'desc') ? 'desc' : 'asc'; $args->sort_index = $searchOpt->sort_index; - $args->page = $searchOpt->page ?? 1; $args->list_count = $searchOpt->list_count ?? 20; - $args->page_count = $searchOpt->page_count ?? 10; + $args->page = intval($searchOpt->page ?? 1); + if ($args->page > 0) + { + $args->page_count = $searchOpt->page_count ?? 10; + } + elseif (isset($searchOpt->offset) && $searchOpt->offset > 0) + { + $args->offset = intval($searchOpt->offset); + } $args->start_date = $searchOpt->start_date ?? null; $args->end_date = $searchOpt->end_date ?? null; $args->start_regdate = $searchOpt->start_regdate ?? null; diff --git a/modules/document/queries/getDocumentList.xml b/modules/document/queries/getDocumentList.xml index 23dc88782..fa6ffd6b3 100644 --- a/modules/document/queries/getDocumentList.xml +++ b/modules/document/queries/getDocumentList.xml @@ -48,5 +48,6 @@ + diff --git a/modules/document/queries/getDocumentListByMemberSrl.xml b/modules/document/queries/getDocumentListByMemberSrl.xml index f1b4b1651..003f9d26f 100644 --- a/modules/document/queries/getDocumentListByMemberSrl.xml +++ b/modules/document/queries/getDocumentListByMemberSrl.xml @@ -16,5 +16,6 @@ + diff --git a/modules/document/queries/getDocumentListExtraSort.xml b/modules/document/queries/getDocumentListExtraSort.xml index b04de20ee..10b86b9e0 100644 --- a/modules/document/queries/getDocumentListExtraSort.xml +++ b/modules/document/queries/getDocumentListExtraSort.xml @@ -54,5 +54,6 @@ + diff --git a/modules/document/queries/getDocumentListUseIndex.xml b/modules/document/queries/getDocumentListUseIndex.xml index 5163e701c..68a5537bb 100644 --- a/modules/document/queries/getDocumentListUseIndex.xml +++ b/modules/document/queries/getDocumentListUseIndex.xml @@ -51,5 +51,6 @@ + diff --git a/modules/document/queries/getDocumentListWithExtraVars.xml b/modules/document/queries/getDocumentListWithExtraVars.xml index 865e3c5e9..25e5f7e36 100644 --- a/modules/document/queries/getDocumentListWithExtraVars.xml +++ b/modules/document/queries/getDocumentListWithExtraVars.xml @@ -51,5 +51,6 @@ + diff --git a/modules/document/queries/getDocumentListWithinComment.xml b/modules/document/queries/getDocumentListWithinComment.xml index 06cc7d117..4bc902de9 100644 --- a/modules/document/queries/getDocumentListWithinComment.xml +++ b/modules/document/queries/getDocumentListWithinComment.xml @@ -28,5 +28,6 @@ + diff --git a/modules/document/queries/getDocumentListWithinExtraVars.xml b/modules/document/queries/getDocumentListWithinExtraVars.xml index 3e1403a9c..e2ae4c05a 100644 --- a/modules/document/queries/getDocumentListWithinExtraVars.xml +++ b/modules/document/queries/getDocumentListWithinExtraVars.xml @@ -21,5 +21,6 @@ + diff --git a/modules/document/queries/getDocumentListWithinExtraVarsExtraSort.xml b/modules/document/queries/getDocumentListWithinExtraVarsExtraSort.xml index e25c041a9..78ac1cc24 100644 --- a/modules/document/queries/getDocumentListWithinExtraVarsExtraSort.xml +++ b/modules/document/queries/getDocumentListWithinExtraVarsExtraSort.xml @@ -59,5 +59,6 @@ + diff --git a/modules/document/queries/getDocumentListWithinMember.xml b/modules/document/queries/getDocumentListWithinMember.xml index 525c1ec09..08dfd76dd 100644 --- a/modules/document/queries/getDocumentListWithinMember.xml +++ b/modules/document/queries/getDocumentListWithinMember.xml @@ -36,5 +36,6 @@ + diff --git a/modules/document/queries/getDocumentListWithinTag.xml b/modules/document/queries/getDocumentListWithinTag.xml index 7ac28474a..3f672ef36 100644 --- a/modules/document/queries/getDocumentListWithinTag.xml +++ b/modules/document/queries/getDocumentListWithinTag.xml @@ -27,5 +27,6 @@ +