fix: nas帮助中心union子句因无limit情况排序错误问题

This commit is contained in:
2025-07-07 14:34:47 +08:00
parent 42b2242570
commit 21b4236c94
2 changed files with 6 additions and 2 deletions

View File

@@ -341,7 +341,7 @@ class TopsNas extends BaseController
$model = \think\Db::table($sub_query . ' a'); $model = \think\Db::table($sub_query . ' a');
foreach ($categorys as $key => $val) { foreach ($categorys as $key => $val) {
if ($key == 0) continue; if ($key == 0) continue;
$model->union(function($query) use($val, $limit) { $model->union(function($query) use($key, $val, $limit) {
$query->name('article')->field([ $query->name('article')->field([
'id', 'id',
'cid', 'cid',
@@ -355,6 +355,8 @@ class TopsNas extends BaseController
if (!empty($limit)) { if (!empty($limit)) {
$query->limit($limit); $query->limit($limit);
} }
// 嵌套子查询解决union没有limit时排序问题
$query->table($query->buildSql() . 'a' . $key);
}); });
} }

View File

@@ -123,7 +123,7 @@ class TopsNas extends BaseController
$model = \think\Db::table($sub_query . ' a'); $model = \think\Db::table($sub_query . ' a');
foreach ($categorys as $key => $val) { foreach ($categorys as $key => $val) {
if ($key == 0) continue; if ($key == 0) continue;
$model->union(function ($query) use ($val, $limit) { $model->union(function ($query) use ($key, $val, $limit) {
$query->name('article')->field([ $query->name('article')->field([
'id', 'id',
'cid', 'cid',
@@ -137,6 +137,8 @@ class TopsNas extends BaseController
if (!empty($limit)) { if (!empty($limit)) {
$query->limit($limit); $query->limit($limit);
} }
// 嵌套子查询解决union没有limit时排序问题
$query->table($query->buildSql() . 'a' . $key);
}); });
} }