findOrFail kullandığınızda kayıt bulunamazsa ModelNotFoundException fırlatır, sadece find kullandığınızda ise kayıt null döner. O yüzden findOrFail try...catch... bloğu ile hatayı yakalamanızı sağlar ve şöyle (bana göre) gayet güzel kod yazmanızı sağlar:
try {
$user = User::findOrFail($id);
$user->update([
'active' = >false
]);
return back()->with('success', 'Kullanıcı başarıyla pasifleştirildi');
} catch (ModelNotFoundException $e) {
return back()->withErrors('Kullanıcı bulunamadı');
}
Ayrıca App\Exceptions\Handler sayesinde tüm Exception'lar global olarak yakalanabildiği için belirli bir Exception için otomatik işlem yapılmasını sağlayabilirsiniz.
Bunun gibi bir kaç şey daha var ama şimdi yazdığımı düzeltip ekleme yapmayayım, araştırabilirsiniz.