شرح صفوف ومحتوى الفقرة
تكمل علاقات متعدد لمتعدد ودوال مزامنة الجدول الوسيط واستعلامات فحص الوجود أدواتك الهندسية لتمثيل قواعد البيانات المعقدة في Eloquent. يمنع استخدام دالة sync عند تحديث الارتباطات ودالة withCount في صفحات القوائم تكرار الصفوف ويغني عن تحميل كائنات غير لازمة.
| وجه المقارنة الهندسي | الأسلوب اليدوي أو غير المحسن | معيار Laravel 12 الحديث |
|---|---|---|
| تحديث مربعات الاختيار | مسح كافة صفوف الربط يدوياً ثم الدوران لإضافة كل معرف | استدعاء دالة sync بسطر واحد لمزامنة المعرفات بدقة |
| قراءة بيانات الجدول الوسيط | تنفيذ استعلام منفصل ومباشر على جدول الربط الوسيط | إلحاق دالة withPivot وقراءة القيمة عبر الكائن pivot |
| التصفية بشرط في العلاقة | تحميل كافة المقالات للذاكرة وتصفيتها برمجياً في PHP | استخدام دالة whereHas لتنفيذ استعلام EXISTS فرعي بالقاعدة |
| عرض عدد السجلات المرتبطة | استدعاء count على العلاقة داخل حلقة العرض لكل صف | استخدام دالة withCount وقراءة الخاصية tags_count الجاهزة |
PHP
$post->tags()->sync($request->input('tags', []));
$popular = Post::has('tags')
->withCount('tags')
->get();
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس حول «علاقة متعدد لمتعدد والجداول الوسيطة Pivot في Eloquent» مفاهيم علاقة متعدد لمتعدد والجدول الوسيط، وقراءة أعمدة الجدول الوسيط Pivot، وربط وفصل ومزامنة السجلات وفق معايير Laravel 12 الحديثة.
الخطوة التالية والدرس القادم
انتقل الآن إلى الدرس التالي «التحميل المسبق وحل مشكلة استعلامات N Plus 1 في Eloquent» للبناء التراكمي على ما تعلمته.