From 073ab4afcc81b4124990488f215d8660ff0b6076 Mon Sep 17 00:00:00 2001 From: walkor Date: Wed, 21 Dec 2022 15:10:21 +0800 Subject: [PATCH] save --- .../admin/app/controller/AdminController.php | 25 +++++++++++++++++++ src/plugin/admin/app/model/Role.php | 5 +--- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/src/plugin/admin/app/controller/AdminController.php b/src/plugin/admin/app/controller/AdminController.php index 18bc01a..7a39be8 100644 --- a/src/plugin/admin/app/controller/AdminController.php +++ b/src/plugin/admin/app/controller/AdminController.php @@ -37,6 +37,31 @@ class AdminController extends Crud return view('admin/index'); } + /** + * 查询 + * @param Request $request + * @return Response + * @throws BusinessException + */ + public function select(Request $request): Response + { + [$where, $format, $limit, $field, $order] = $this->selectInput($request); + $query = $this->doSelect($where, $field, $order); + $paginator = $query->paginate($limit); + $items = $paginator->items(); + $admin_ids = array_column($items, 'id'); + $roles = AdminRole::whereIn('admin_id', $admin_ids)->get(); + $roles_map = []; + foreach ($roles as $role) { + $roles_map[$role['admin_id']][] = $role['role_id']; + } + foreach ($items as $index => $item) { + $admin_id = $item['id']; + $items[$index]['roles'] = isset($roles_map[$admin_id]) ? implode(',', $roles_map[$admin_id]) : ''; + } + return json(['code' => 0, 'msg' => 'ok', 'count' => $paginator->total(), 'data' => $items]); + } + /** * 插入 * @param Request $request diff --git a/src/plugin/admin/app/model/Role.php b/src/plugin/admin/app/model/Role.php index 644f7b8..9968055 100644 --- a/src/plugin/admin/app/model/Role.php +++ b/src/plugin/admin/app/model/Role.php @@ -2,7 +2,6 @@ namespace plugin\admin\app\model; -use plugin\admin\app\model\Base; /** * @property integer $id 主键(主键) @@ -27,8 +26,6 @@ class Role extends Base * @var string */ protected $primaryKey = 'id'; - - - + }