You can use the Prunable trait to automatically remove models from your database.
(ex.) You can permanently remove soft deleted models after a few days.
class ExampleClass extends Model { use SoftDeletes; use Prunable; public function prunable() { // Files matching this query will be pruned return static::query()->where('deleted_at', '<=', now()->subDays(14)); } protected function pruning() { // Remove the file from s3 before deleting the model Storage::disk('s3')->delete($this->filename); } }
Add PruneCommand to your schedule (app/Console/Kernel.php)
$schedule->command(PruneCommand::class)->daily();
Top comments (0)