getModel()::query() ->where('group_code', $groupCode) ->orderBy('sort') ->orderBy('id') ->get(); $result = []; foreach ($items as $item) { $result[$item->code] = $item->content; } return $result; } public function batchSave(string $groupCode, array $configs): bool { $timestamp = time(); foreach ($configs as $config) { $this->getModel()::query()->updateOrCreate( [ 'group_code' => $groupCode, 'code' => (string) ($config['code'] ?? ''), ], [ 'name' => (string) ($config['name'] ?? ''), 'content' => is_scalar($config['content'] ?? null) || $config['content'] === null ? ($config['content'] ?? null) : json_encode($config['content'], JSON_UNESCAPED_UNICODE), 'sort' => (int) ($config['sort'] ?? 0), 'remark' => (string) ($config['remark'] ?? ''), 'updated_at' => $timestamp, ] ); } return true; } }