اذهب إلى المحتوى
  • 0

ما الفرق بين delete_all و destroy_all في ريلز؟

ahmed1990

السؤال

ابحث عن أفضل طريقة لحذف سجلات من جدول، فلدي مستخدم معرفه موجود في عدة جداول، وأنا أريد حذف هذا المستخدم وجميع السجلات التي لديها نفس المعرف في جميع الجداول.

وجدت تابعين للحذف وهما delete_all و destroy_all فما الفرق بينهم؟

تم التعديل في بواسطة ahmed1990
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

هنالك فرق بسيط بين هذين التابعين فتابع destroy_all يحذف المستخدم وجميع الكائنات المرتبطة به وأما delete_all فإنه يحذف المستخدم دون الكائنات المرتبطة به.
إن delete_all تستخدم تعليمة SQL DELETE واحدة فقط أما destroy_all فانه سيقوم باستدعاء destroy() لجميع النتائج المتطابقة لشرط معين.
لذلك في حالتك هذه، التي تريد فيها حذف جميع سجلات مستخدم معين في قاعدة البيانات سوف تستخدم  destroy_all للحذف.
المصدر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...