شرح صفوف ومحتوى الفقرة
تشكل علاقات الواحد لواحد والواحد لمتعدد العمود الفقري لهيكلة البيانات العلائقية في تطبيقات Laravel. يضمن إتقان تحديد موقع المفتاح الأجنبي وتعريف العلاقة العكسية belongsTo واستخدام باني استعلام العلاقة تنقلاً وحفظاً للبيانات بأعلى درجات النظافة والموثوقية.
| وجه المقارنة الهندسي | الأسلوب اليدوي أو غير المحسن | معيار Laravel 12 الحديث |
|---|---|---|
| جلب السجلات التابعة | كتابة شرط المفتاح الأجنبي يدوياً في كل استعلام بالمتحكم | تعريف علاقة hasMany في النموذج واستدعائها مباشرة |
| حساب عدد الأبناء | تحميل كافة الكائنات في الذاكرة ثم عدها عبر المجموعة | استدعاء count على دالة العلاقة لتنفيذ عد مباشر في القاعدة |
| المفاتيح الأجنبية الاختيارية | تكرار فحوصات القيمة الفارغة في كل قالب عرض لتجنب الأخطاء | إلحاق دالة withDefault بتعريف علاقة belongsTo العكسية |
| حفظ السجلات الأبناء | دمج رقم معرف الأب يدوياً داخل مصفوفة البيانات قبل الحفظ | استدعاء دالة create مباشرة عبر علاقة النموذج الأب |
PHP
$authorName = $post->user->name;
$recentCount = $user->posts()
->where('created_at', '>=', now()->subWeek())
->count();
خلاصة المعرفة ومحطة الانتقال
ملخص الدرس
حصاد الدرسمراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي
ماذا تعلّمت في هذا الدرس؟
أتقنت في هذا الدرس حول «علاقتا واحد لواحد وواحد لمتعدد في نماذج Eloquent» مفاهيم علاقة واحد لواحد بدالة HasOne، والعلاقة العكسية بدالة BelongsTo، وعلاقة واحد لمتعدد بدالة HasMany وفق معايير Laravel 12 الحديثة.
الخطوة التالية والدرس القادم
انتقل الآن إلى الدرس التالي «علاقة متعدد لمتعدد والجداول الوسيطة Pivot في Eloquent» للبناء التراكمي على ما تعلمته.