Автоматическое удаление записей из коробки 🪄
Иногда нужно автоматически удалять устаревшие записи из базы данных. Многие для этого пишут собственные Artisan-команды и настраивают cron-задачи.
В Laravel для таких случаев уже есть готовое решение — трейт
Prunable.Достаточно определить условие, какие записи считаются устаревшими:
use Illuminate\Database\Eloquent\Prunable;
class Flight extends Model
{
use Prunable;
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonth());
}
}
После этого Laravel сможет автоматически находить и удалять подходящие записи через команду:
php artisan model:prune
Можно добавить её в планировщик задач и больше не думать об очистке старых данных.
Меньше кастомного кода. Меньше поддержки. Больше встроенных возможностей Laravel.
@WebDev_Plus
