Soft Delete روشی برای علامتگذاری رکورد بهعنوان حذفشده، بدون پاک کردن فوری آن از پایگاه داده است. در الوکوئنت معمولاً زمان حذف در ستونی مانند deleted_at ثبت میشود.
این روش امکان بازیابی رکورد و نگهداری سابقه را فراهم میکند، اما کوئریها باید رفتار رکوردهای حذفشده را در نظر بگیرند. سیاست نگهداری و حذف دائمی داده نیز باید مشخص باشد.
Soft Delete رکورد را از دید Queryهای معمول پنهان میکند اما لزوماً از دیتابیس حذف نمیکند. در نتیجه سیاست حریم خصوصی و حذف قطعی داده موضوع جداگانهای است.
نمونه کوتاه
use Illuminate\Database\Eloquent\SoftDeletes;
// Add SoftDeletes trait to the Eloquent model.
حذف نرم اطلاعات را پاک نمیکند
Soft Delete معمولاً با ثبت deleted_at رکورد را از کوئریهای عادی پنهان میکند. داده همچنان در دیتابیس باقی میماند و برای حفاظت از حریم خصوصی یا حذف قطعی، نیاز به سیاست مستقل Retention و Purge داریم.