timezone(); $response = $result['response'] ?? []; if (empty($response)) { return $result; } // 先将所有时区设为无效 Timezone::query()->update(['status' => Timezone::STATUS_NO]); foreach ($response as $code) { // 使用 firstOrCreate 简化代码 $timezone = Timezone::firstOrCreate( ['code' => $code], [ 'code' => $code, 'status' => Timezone::STATUS_YES ] ); // 如果已存在,更新状态 if (!$timezone->wasRecentlyCreated) { $timezone->update(['status' => Timezone::STATUS_YES]); } } return $result; } }