From 69d155b1d0263392c41fb6a9f728dfe2dd37075e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?HID=E4=B8=A8emotion?= Date: Tue, 18 Aug 2020 12:37:08 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A4=9A=E9=80=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=97=B6=E6=8C=89=E9=80=89=E6=8B=A9=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E6=98=BE=E7=A4=BA=20=E5=A4=9A=E9=80=89=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E9=80=89=E6=8B=A9=E5=A4=9A=E4=B8=AA=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E5=86=8D=E6=AC=A1=E7=BC=96=E8=BE=91=E4=BF=9D=E6=8C=81=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E9=A1=BA=E5=BA=8F=E4=B8=8D=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/controller/Backend.php | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index 12d17835..c93aabce 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -494,11 +494,21 @@ class Backend extends Controller if (is_array($adminIds)) { $this->model->where($this->dataLimitField, 'in', $adminIds); } - $datalist = $this->model->where($where) - ->order($order) - ->page($page, $pagesize) - ->field($this->selectpageFields) - ->select(); + //如果有primaryvalue,说明当前是初始化传值,按照选择顺序排序 + if ($primaryvalue !== null) { + $datalist = $this->model->where($where) + ->orderRaw("FIELD(`{$primarykey}`, {$primaryvalue})") + ->page($page, $pagesize) + ->field($this->selectpageFields) + ->select(); + } else { + $datalist = $this->model->where($where) + ->order($order) + ->page($page, $pagesize) + ->field($this->selectpageFields) + ->select(); + } + foreach ($datalist as $index => $item) { unset($item['password'], $item['salt']); $list[] = [ From 1a673fc758abc83d37d663ff8a0e06affa346426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?HID=E4=B8=A8emotion?= Date: Tue, 18 Aug 2020 13:35:33 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=EF=BC=8C=E9=98=B2=E6=AD=A2sql=E6=B3=A8?= =?UTF-8?q?=E5=85=A5=20=E5=A4=9A=E9=80=89=E5=AD=97=E6=AE=B5=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=A4=9A=E4=B8=AA=E6=97=B6=EF=BC=8C=E5=86=8D=E6=AC=A1?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E4=BF=9D=E6=8C=81=E9=80=89=E6=8B=A9=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=E4=B8=8D=E5=8F=98=20=E5=AF=B9=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=BF=87=E6=BB=A4=EF=BC=8C=E9=98=B2=E6=AD=A2?= =?UTF-8?q?sql=E6=B3=A8=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/common/controller/Backend.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index c93aabce..2bb4785f 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -496,6 +496,9 @@ class Backend extends Controller } //如果有primaryvalue,说明当前是初始化传值,按照选择顺序排序 if ($primaryvalue !== null) { + $primaryvalue = array_unique(is_array($primaryvalue) ? $primaryvalue : explode(',', $primaryvalue)); + $primaryvalue = implode(',', array_map([$this->model->getConnection(), 'quote'], $primaryvalue)); + $datalist = $this->model->where($where) ->orderRaw("FIELD(`{$primarykey}`, {$primaryvalue})") ->page($page, $pagesize)