branchId = $branchId; } public function handle() { $sqlitePath = storage_path('app/database/tempBranch.sqlite'); if (!file_exists(dirname($sqlitePath))) { mkdir(dirname($sqlitePath), 0755, true); } if (!file_exists($sqlitePath)) { file_put_contents($sqlitePath, ''); } $connectionName = 'tempsqlite_' . md5($sqlitePath . microtime()); config(["database.connections.{$connectionName}" => [ 'driver' => 'sqlite', 'database' => $sqlitePath, 'prefix' => '', ]]); $exporter = new SqliteExportService($connectionName); $exporter->exportMultiple([ 'branches' => [ 'query' => fn () => Branch::where('id', $this->branchId), 'tableSchema' => function ($table) { $table->id(); $table->string('name')->comment('店名'); $table->string('external_ip')->comment('對外IP'); // 原本是 ipAddress,這裡改 string $table->tinyInteger('enable')->default(1)->comment('狀態'); $table->timestamps(); }, 'transformer' => fn ($branch) => [ 'id' => $branch->id, 'name' => $branch->name, 'external_ip' => $branch->external_ip, 'enable' => $branch->enable ?? 1, 'created_at' => $branch->created_at, 'updated_at' => $branch->updated_at, ], ] ]); SendSqliteFileJob::dispatch($sqlitePath, $this->branchId); } }