aybarsalvarci Observer bir Eloquent özelliği. Düz SQL ile silme yaparsanız tetiklenmez.
Bu örnekte observer ve model eventları tetiklenir:
$products = Product::whereIn('id', $ids)->get();
foreach($products as $product) {
// deleting ve deleted eventları tetiklenir, dolayısıyla observer da çalışır.
// çünkü model ile işlem yapılıyor:
$product->delete();
}
Aşağıdakinde ise model eventları tetiklenmez çünkü SQL ile toplu silme yapılıyor, model kullanılmıyor ve dolayısıyla Eloquent özellikleri devreye girmiyor:
$products = Product::whereIn('id', $ids)
->delete();
Ayrıca images tablosunda product_id için ON DELETE CASCADE kullandıysanız (cascadeOnDelete() yöntemi ile) ilişkili kayıtlar veri tabanı düzeyinde silineceği için resimler silinmez.