mirror of
https://github.com/filamentphp/filament.git
synced 2026-09-24 15:42:09 +08:00
Merge pull request #16630 from andrewdwallo/fix/export-data-reuse
Fix: Export Data Contamination from Database ID Reuse
This commit is contained in:
@@ -176,6 +176,9 @@ trait CanExportRecords
|
||||
// Temporary save to obtain the sequence number of the export file.
|
||||
$export->save();
|
||||
|
||||
// Delete the export directory to prevent data contamination from previous exports with the same ID.
|
||||
$export->deleteFileDirectory();
|
||||
|
||||
$export->file_name = $action->getFileName($export) ?? $exporter->getFileName($export);
|
||||
$export->save();
|
||||
|
||||
|
||||
@@ -99,4 +99,14 @@ class Export extends Model
|
||||
{
|
||||
return 'filament_exports' . DIRECTORY_SEPARATOR . $this->getKey();
|
||||
}
|
||||
|
||||
public function deleteFileDirectory(): void
|
||||
{
|
||||
$disk = $this->getFileDisk();
|
||||
$directory = $this->getFileDirectory();
|
||||
|
||||
if ($disk->directoryExists($directory)) {
|
||||
$disk->deleteDirectory($directory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user