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)