انتقل إلى محتوى الدرس

Creating Related Child Models إنشاء السجلات المرتبطة تلقائيا

تمثيل علاقتي واحد لواحد وواحد لمتعدد بين نماذج Eloquent باستخدام دوال hasOne و hasMany والعلاقة العكسية belongsTo.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بدلاً من تمرير قيمة المفتاح الأجنبي يدوياً عند إنشاء سجل تابع، يمكنك استدعاء دالة create أو save مباشرة عبر دالة العلاقة في النموذج الأب. يقوم Eloquent بحقن قيمة المفتاح الأساسي للأب داخل عمود المفتاح الأجنبي للابن تلقائياً قبل إدراج السجل في القاعدة.

  • الإنشاء عبر العلاقة (Relation create): تقبل مصفوفة الحقول المسموحة وتضبط قيمة المفتاح الأجنبي تلقائياً دون تدخل يدوي.
  • حفظ كائن جاهز (Relation save): تحفظ كائن نموذج فرعي منشأ مسبقاً في الذاكرة وتربطه بمعرف الأب مباشرة.
  • الإنشاء المتعدد (createMany): تنشئ عدة سجلات تابعة دفعة واحدة من مصفوفة تحتوي على بيانات كل سجل.
PHP
$post = $user->posts()->create([
    'title' => 'Eloquent Relationships',
    'body' => 'Clean foreign key assignment.',
]);

$post->comments()->createMany([
    ['body' => 'First comment'],
]);