📌 معلومة Laravel مهمة لازم تعرفها 👇
إذا استعملت الكود التالي:
👈 الـ Observers مثل deleting() و deleted() ما رح تشتغل!
🔍 ليش؟
هالكود بيعمل Direct SQL DELETE من قاعدة البيانات بدون ما يعمل Load للـ Models، وبالتالي ما بيمر على نظام الـ Events والـ Observers تبع Laravel.
✅ الحل الصح:
إذا بدك الـ deleting و deleted يشتغلوا، لازم تعمل Load للسجلات أولاً وبعدين تحذف كل واحد:
🔑 نفس الفكرة بتنطبق على update():
💡 الخلاصة:
->delete() و ->update() المباشرة = ما في Observers
foreach مع delete() أو update() = Observers شغالة ✅
#Laravel #Eloquent #Observers #PHP #Tips
إذا استعملت الكود التالي:
Model::where(...)->delete();
👈 الـ Observers مثل deleting() و deleted() ما رح تشتغل!
🔍 ليش؟
هالكود بيعمل Direct SQL DELETE من قاعدة البيانات بدون ما يعمل Load للـ Models، وبالتالي ما بيمر على نظام الـ Events والـ Observers تبع Laravel.
✅ الحل الصح:
إذا بدك الـ deleting و deleted يشتغلوا، لازم تعمل Load للسجلات أولاً وبعدين تحذف كل واحد:
$models = Model::where(...)->get();
foreach ($models as $model) {
$model->delete(); // هون بتشتغل الـ Observers
}
🔑 نفس الفكرة بتنطبق على update():
Model::where(...)->update(['field' => 'value']); // ما بيشغل updating/updated
💡 الخلاصة:
->delete() و ->update() المباشرة = ما في Observers
foreach مع delete() أو update() = Observers شغالة ✅
#Laravel #Eloquent #Observers #PHP #Tips
❤7👍6