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

Inspecting Extra Pivot Columns قراءة أعمدة الجدول الوسيط Pivot

بناء علاقة متعدد لمتعدد عبر belongsToMany وقراءة أعمدة الجدول الوسيط وإدارة الارتباطات بـ attach و sync واستعلام العلاقات بـ whereHas و withCount.
1 صفوف تعليمية
إطار العمل Laravel
0 مشاهدة

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

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

يحصل كل نموذج يتم جلبه عبر علاقة متعدد لمتعدد تلقائياً على خاصية باسم pivot تمثل سجل الجدول الوسيط الذي ربط الطرفين. يحتوي كائن pivot افتراضياً على المفتاحين الأجنبيين فقط، لذا يجب إلحاق دالتي withPivot و withTimestamps بتعريف العلاقة لقراءة الأعمدة الإضافية والطوابع الزمنية.

  • كائن السجل الوسيط (pivot Property): اقرأ بيانات صف الربط الوسيط مباشرة عبر الخاصية $tag->pivot أثناء الدوران على النتائج.
  • تضمين الأعمدة الإضافية (withPivot): تحدد أسماء الأعمدة الإضافية في الجدول الوسيط ليقوم Eloquent بجلبها في الاستعلام.
  • تحديث الطوابع الزمنية (withTimestamps): تتولى تعبئة وتحديث عمودي created_at و updated_at في الجدول الوسيط تلقائياً.
PHP
public function roles(): BelongsToMany
{
    return $this->belongsToMany(Role::class)
        ->withPivot('assigned_by')
        ->withTimestamps();
}

$by = $user->roles->first()->pivot->assigned_by;