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.