شرح صفوف ومحتوى الفقرة
تربط علاقة متعدد لمتعدد نموذجين معاً عبر جدول ربط وسيط يُعرف بجدول Pivot، مثل ربط المقالات والوسوم عبر جدول post_tag. يعرّف كلا النموذجين العلاقة باستخدام دالة belongsToMany، ويستنتج Eloquent اسم الجدول الوسيط تلقائياً بدمج اسمي النموذجين بصيغة المفرد وفق الترتيب الأبجدي الإنجليزي.
- التسمية الأبجدية للوسيط (Alphabetical Pivot): ربط نموذجي Post و Tag ينتج اسم الجدول post_tag لأن حرف P يسبق T أبجدياً.
- تعريف الطرفين (belongsToMany): يستدعي كلا النموذجين دالة belongsToMany للتنقل بين السجلات في الاتجاهين.
- تخصيص اسم الجدول (Custom Pivot Name): مرر اسم الجدول الوسيط كمعامل ثانٍ للدالة إذا كان يختلف عن الاصطلاح القياسي.
PHP
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
public function tags(): BelongsToMany
{
return $this->belongsToMany(Tag::class);
}
$tags = $post->tags;