شرح صفوف ومحتوى الفقرة
عند حذف سجل أب، تحتاج قاعدة البيانات لتعليمات صريحة حول مصير السجلات الفرعية المرتبطة به. يتيح ربط دوال cascadeOnDelete أو nullOnDelete أو restrictOnDelete بعد دالة القيد فرض السلوك المطلوب مباشرة على مستوى محرك القاعدة.
- الحذف المتسلسل (cascadeOnDelete): حذف جميع السجلات الفرعية التابعة تلقائياً فور حذف سجل الأب.
- التحويل لفارغ (nullOnDelete): تفريغ قيمة المفتاح الأجنبي إلى NULL مع بقاء السجل الفرعي.
- منع الحذف (restrictOnDelete): رفض حذف السجل الأب طالما توجد سجلات فرعية مرتبطة به كالفواتير المالية.
PHP
Schema::create('comments', function (Blueprint $table) {
$table->id();
$table->foreignId('post_id')
->constrained()
->cascadeOnDelete();
$table->foreignId('editor_id')
->nullable()->constrained('users');
});