From a2d99f4bdbd9593c9fc81b4457dbc5cb5b3c1609 Mon Sep 17 00:00:00 2001 From: Karson Date: Fri, 11 Sep 2020 14:10:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=85=B3=E8=81=94=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=97=B6=E9=97=B4=E6=97=A0=E6=B3=95=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E7=9A=84BUG=20=E4=BC=98=E5=8C=96=E5=90=8E=E5=8F=B0=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../command/Crud/stubs/controllerindex.stub | 19 ++++++------------- application/admin/library/traits/Backend.php | 11 +++-------- application/common/controller/Backend.php | 6 ++++++ 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/application/admin/command/Crud/stubs/controllerindex.stub b/application/admin/command/Crud/stubs/controllerindex.stub index 74470ca4..a3cfa542 100755 --- a/application/admin/command/Crud/stubs/controllerindex.stub +++ b/application/admin/command/Crud/stubs/controllerindex.stub @@ -8,35 +8,28 @@ $this->relationSearch = {%relationSearch%}; //设置过滤方法 $this->request->filter(['strip_tags', 'trim']); - if ($this->request->isAjax()) - { + if ($this->request->isAjax()) { //如果发送的来源是Selectpage,则转发到Selectpage - if ($this->request->request('keyField')) - { + if ($this->request->request('keyField')) { return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); - $total = $this->model - {%relationWithList%} - ->where($where) - ->order($sort, $order) - ->count(); $list = $this->model {%relationWithList%} ->where($where) ->order($sort, $order) ->limit($offset, $limit) - ->select(); + ->paginate(); foreach ($list as $row) { {%visibleFieldList%} {%relationVisibleFieldList%} } - $list = collection($list)->toArray(); - $result = array("total" => $total, "rows" => $list); + + $result = array("total" => $list->total(), "rows" => $list->items()); return json($result); } return $this->view->fetch(); - } \ No newline at end of file + } diff --git a/application/admin/library/traits/Backend.php b/application/admin/library/traits/Backend.php index 6b8450d4..3192c9f8 100755 --- a/application/admin/library/traits/Backend.php +++ b/application/admin/library/traits/Backend.php @@ -50,19 +50,14 @@ trait Backend return $this->selectpage(); } list($where, $sort, $order, $offset, $limit) = $this->buildparams(); - $total = $this->model - ->where($where) - ->order($sort, $order) - ->count(); $list = $this->model ->where($where) ->order($sort, $order) ->limit($offset, $limit) - ->select(); + ->paginate(); - $list = collection($list)->toArray(); - $result = array("total" => $total, "rows" => $list); + $result = array("total" => $list->total(), "rows" => $list->items()); return json($result); } @@ -75,7 +70,7 @@ trait Backend public function recyclebin() { //设置过滤方法 - $this->request->filter(['strip_tags']); + $this->request->filter(['strip_tags', 'trim']); if ($this->request->isAjax()) { list($where, $sort, $order, $offset, $limit) = $this->buildparams(); $total = $this->model diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php index 76d4ee83..88f1e0f6 100644 --- a/application/common/controller/Backend.php +++ b/application/common/controller/Backend.php @@ -377,6 +377,12 @@ class Backend extends Controller $sym = $sym == 'RANGE' ? '>=' : '<'; $arr = $arr[0]; } + $tableArr = explode('.', $k); + if (count($tableArr) > 1) { + //修复关联模型下时间无法搜索的BUG + $relation = Loader::parseName($tableArr[0], 1, false); + $this->model->alias([$this->model->$relation()->getTable() => $tableArr[0]]); + } $where[] = [$k, str_replace('RANGE', 'BETWEEN', $sym) . ' time', $arr]; break; case 'NULL':