From 21b4236c940368817955a0a4db64c770b3bd5f50 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Mon, 7 Jul 2025 14:34:47 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20nas=E5=B8=AE=E5=8A=A9=E4=B8=AD=E5=BF=83u?= =?UTF-8?q?nion=E5=AD=90=E5=8F=A5=E5=9B=A0=E6=97=A0limit=E6=83=85=E5=86=B5?= =?UTF-8?q?=E6=8E=92=E5=BA=8F=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/index/controller/TopsNas.php | 4 +++- app/us/controller/TopsNas.php | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/index/controller/TopsNas.php b/app/index/controller/TopsNas.php index 447382c..02f8284 100755 --- a/app/index/controller/TopsNas.php +++ b/app/index/controller/TopsNas.php @@ -341,7 +341,7 @@ class TopsNas extends BaseController $model = \think\Db::table($sub_query . ' a'); foreach ($categorys as $key => $val) { if ($key == 0) continue; - $model->union(function($query) use($val, $limit) { + $model->union(function($query) use($key, $val, $limit) { $query->name('article')->field([ 'id', 'cid', @@ -355,6 +355,8 @@ class TopsNas extends BaseController if (!empty($limit)) { $query->limit($limit); } + // 嵌套子查询,解决union没有limit时排序问题 + $query->table($query->buildSql() . 'a' . $key); }); } diff --git a/app/us/controller/TopsNas.php b/app/us/controller/TopsNas.php index 0e0e8d5..b6420b7 100755 --- a/app/us/controller/TopsNas.php +++ b/app/us/controller/TopsNas.php @@ -123,7 +123,7 @@ class TopsNas extends BaseController $model = \think\Db::table($sub_query . ' a'); foreach ($categorys as $key => $val) { if ($key == 0) continue; - $model->union(function ($query) use ($val, $limit) { + $model->union(function ($query) use ($key, $val, $limit) { $query->name('article')->field([ 'id', 'cid', @@ -137,6 +137,8 @@ class TopsNas extends BaseController if (!empty($limit)) { $query->limit($limit); } + // 嵌套子查询,解决union没有limit时排序问题 + $query->table($query->buildSql() . 'a' . $key); }); }