şimdi mgsmsun yazdıklarını görünce hata çok bariz burada @neri..
destroy modeli sayı dönüyor.yani kaç kayıt sildiyse o kadar counter yapıp o sayıyı döndürüyor sana.
yani 0 icin false yakalarsın ama diğerleri için tümden true gelir.Arada birini silemezse yine true gelcek sana.
O yüzden bu destroy modelini kullanırken dikkat etmelisin.
Destroy methodunun alacağı parametreler;
destroy([1,2,3]);
destroy(1);
destroy(Collection::class) // ılluminate/support/collection instance
delete methodu da her türlü true dönderiyor.Onada güvenmemelisin.
öncesi ve sonrası olaylar cok basit..laravel bazı methodlar için fireModelevent çalıştırıyor.bunla deleting deleted saving saved updating updated
replicating gibi method kullanımlarıyla yapıyor.bu methodları tespit ettiğinde callback değeri event mekanizmasına listen aracılığı ile kaydediyor.
ve daha sonra dispatch yapıyor bu callback değeri.yani oncesinde [ing] ler sonrasında [ed] ler çalıştırılıyor.
en iyi tutarlılığa sahip model event çalıştırılacak kısım bence save methodu.
save kaydedilip kaydedilmediğini yada şöyle söyleyeyim.
model event icin saving calıstırıyor yani oncesinde bir event..başarısızsa boolean false dönderiyor.Eğer true gelirse ana queryi calıstırıyor yani save provess...eğer buradan kayıt başarısız dönerse false dönderiyor ve model saved calıstırılmıyor.
delete felan komple her türlü true dönderiyor.