From 3f092b53b70e4a3c6b01026d796350b8697c48a3 Mon Sep 17 00:00:00 2001 From: Anyon Date: Fri, 19 Jul 2019 18:34:51 +0800 Subject: [PATCH] Update NodeService.php --- application/admin/service/NodeService.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/application/admin/service/NodeService.php b/application/admin/service/NodeService.php index c0900fbf6..d6a77e578 100644 --- a/application/admin/service/NodeService.php +++ b/application/admin/service/NodeService.php @@ -235,14 +235,10 @@ class NodeService if (($uid = session('admin_user.id'))) { session('admin_user', Db::name('SystemUser')->where(['id' => $uid])->find()); } - $authorize = session('admin_user.authorize'); - if (!empty($authorize) && $authids = explode(',', $authorize)) { - $auths = Db::name('SystemAuth')->where(['status' => '1'])->whereIn('id', $authids)->column('id'); - if (empty($auths)) { - session('admin_user.nodes', []); - } else { - session('admin_user.nodes', array_unique(Db::name('SystemAuthNode')->whereIn('auth', $auths)->column('node'))); - } + if (($aids = session('admin_user.authorize'))) { + $where = [['status', 'eq', '1'], ['id', 'in', explode(',', $aids)]]; + $subsql = Db::name('SystemAuth')->field('id')->where($where)->buildSql(); + session('admin_user.nodes', array_unique(Db::name('SystemAuthNode')->whereRaw("auth in {$subsql}")->column('node'))); } else { session('admin_user.nodes', []); }