find(); // 准备权限数据 $permissionData = [ 'ids' => is_array($permissionIds) ? implode(',', $permissionIds) : $permissionIds ]; if ($record) { // 更新已有记录 return $record->save([ 'permissions' => json_encode($permissionData), 'updateTime' => time() ]); } else { // 创建新记录 return self::create([ 'adminId' => $adminId, 'permissions' => json_encode($permissionData), 'createTime' => time(), 'updateTime' => time(), 'deleteTime' => 0 ]); } } /** * 获取管理员权限 * @param int $adminId 管理员ID * @return array 权限ID数组 */ public static function getPermissions($adminId) { $record = self::where('adminId', $adminId)->find(); if (!$record || empty($record->permissions)) { return []; } $permissions = $record->permissions ? json_decode($record->permissions, true) : []; if (isset($permissions['ids']) && !empty($permissions['ids'])) { return is_string($permissions['ids']) ? explode(',', $permissions['ids']) : $permissions['ids']; } return []; } }