New in Laravel 8.50: You can use the Prunable trait to automatically remove models from your database. For example, you can permanently remove soft deleted models after a few days.
class File extends Model{ use SoftDeletes; // Add Prunable trait 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();
Tip by @Philo01
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
[NEW] Laravel 13 Starter Kit Teams and Customizations
10 lessons
33 min
Laravel 13 Eloquent: Expert Level
41 lessons
1 h 34 min
[FREE] Laravel 13 for Beginners: 3 Demo Projects
5 lessons
29 min