option('ids'); $ids = []; if (is_array($idsOpt)) { foreach ($idsOpt as $chunk) { if (! is_string($chunk) && ! is_int($chunk)) { continue; } foreach (preg_split('/\s*,\s*/', (string) $chunk) ?: [] as $part) { if ($part === '') { continue; } $ids[] = (int) $part; } } } $ids = array_values(array_unique(array_filter($ids))); if ($ids === []) { $this->error('请至少指定一个 id,例如:php artisan questions:export-sql --ids=1,2,3'); return self::FAILURE; } $includeId = (bool) $this->option('with-id'); $sql = $service->exportIdsToMysqlScript($ids, $includeId); $outPath = $this->option('output'); if (! is_string($outPath) || $outPath === '') { $outPath = storage_path('app/exports/questions_export_'.date('YmdHis').'.sql'); } File::ensureDirectoryExists(dirname($outPath)); File::put($outPath, $sql); $this->info('已导出 '.count($ids).' 个 id 的 SQL:'.$outPath); return self::SUCCESS; } }