*/ public function toArray(Request $request): array { $array = parent::toArray($request); $array['started_at'] = $this->formatTaipei($this->started_at); $array['ended_at'] = $this->formatTaipei($this->ended_at); return $array; } protected function formatTaipei(?Carbon $value): ?string { if ($value instanceof \Carbon\Carbon) { return $value->timezone('Asia/Taipei')->format('Y-m-d H:i:s'); } // 如果已經是字串(例如 JSON 解開的資料) if (is_string($value)) { try { return \Carbon\Carbon::parse($value)->timezone('Asia/Taipei')->format('Y-m-d H:i:s'); } catch (\Throwable $e) { return null; } } return null; } }