Mikail.Net

Yazılımcı günlüğü

Soft Deleting

Bu özellik, veritabanından bir satırı fiziksel olarak silmek yerine, satırın silinme tarihini işaretleyerek “silinmiş” olarak kabul eder. Bu sayede, verilerinizi geri alabilme şansınız olur.

User modelinizde Soft Deleting’i etkinleştirmek için aşağıdaki adımları takip etmelisiniz:

İlk olarak, kullanıcı tablosunda deleted_at adında bir sütun oluşturmanız gerekmektedir. Bunun için şu kodu kullanın:

$table->softDeletes();

Ardından, User modelinize Illuminate\Database\Eloquent\SoftDeletes trait’ini ekleyin:

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class User extends Model
{
    use HasFactory, SoftDeletes;

    // ...
}

Son olarak, uygulamanızda kullanıcıyı silmek istediğinizde delete metodunu kullanın, Soft Deleting özelliği etkinleştirildikten sonra, delete() metodu, kullanıcıyı veritabanından fiziksel olarak silmek yerine deleted_at sütununu güncel tarih ve saatle dolduracaktır. Bu, kullanıcının “silinmiş” olarak kabul edilmesini sağlar. Silinmis kullanicilara erismek icin filtreleri kullanabilirsiniz.

Eğer Soft Deleting ile silinmiş bir kullanıcıyı geri getirmek istiyorsanız, restore metodunu kullanabilirsiniz.

Eğer yukarıdaki adımları doğru bir şekilde uyguladıysanız, artık kullanıcılarınızı veritabanından fiziksel olarak silmek yerine, Soft Deleting özelliği sayesinde “silinmiş” olarak işaretleyebilirsiniz.