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/mobile/controller/TopsNas.php b/app/mobile/controller/TopsNas.php index e8e15cb..4813d76 100755 --- a/app/mobile/controller/TopsNas.php +++ b/app/mobile/controller/TopsNas.php @@ -294,7 +294,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', @@ -308,6 +308,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); }); } diff --git a/app/usmobile/controller/TopsNas.php b/app/usmobile/controller/TopsNas.php index 72cf3c0..99a77f0 100755 --- a/app/usmobile/controller/TopsNas.php +++ b/app/usmobile/controller/TopsNas.php @@ -184,7 +184,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', @@ -198,6 +198,8 @@ class TopsNas extends BaseController if (!empty($limit)) { $query->limit($limit); } + // 嵌套子查询,解决union没有limit时排序问题 + $query->table($query->buildSql() . 'a' . $key); }); }