İçeriğe geç

Laravel Prunable Nedir ve Kullanımı

Düzenli olarak belli bir süreden sonra içeriklerinizi silmek isterseniz Prunable kullanabilirsiniz. Observer, Job vb. yöntemlerin aksine Prunable ile bu işlemi kolaylıkla yapabilirsiniz. Kullanımı şu şekilde;

Illuminate\Database\Eloquent\Prunable veya Illuminate\Database\Eloquent\MassPrunable traitlerinden birini import edebilirsiniz.
Daha sonra prunable metodunda silme koşulunu belirlemelisiniz.
Örnek kullanıma göz atalım;

// https://laravel.com/docs/8.x/eloquent#pruning-models
namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Prunable;

class Flight extends Model
{
    use Prunable;

    /**
     * Get the prunable model query.
     *
     * @return \Illuminate\Database\Eloquent\Builder
     */
    public function prunable()
    {
        return static::where('created_at', '<=', now()->subMonth());
    }
}

Eğer bir modeli Prunable olarak tanımlarsanır, alternatif olarak pruning metodunu da kullanabilirsiniz. Bu metot model silinmeden önce işlem yapar. Örnek olarak modelle bağlantılı diğer silme işlemlerini yapabiliriniz; dosya, resim vb silme.

protected function pruning()
{
    //
}
Kategori:Eloquent

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.