شرح صفوف ومحتوى الفقرة
تمثل علاقة واحد لمتعدد سجلاً أباً يمتلك عدداً غير محدود من السجلات التابعة، مثل قسم يضم عشرات المنتجات أو مقال يحتوي على عدة تعليقات. يعيد استدعاء دالة hasMany في النموذج الأب مجموعة Eloquent Collection تضم كافة السجلات الأبناء المرتبطة عند قراءتها كخاصية ديناميكية.
- التسمية بصيغة الجمع (Plural Method Name): يُسمى تابع العلاقة بصيغة الجمع مثل posts أو comments ليعكس إرجاع مجموعة سجلات.
- إرجاع مجموعة كائنات (Collection Result): قراءة الخاصية الديناميكية تعيد كائن Eloquent Collection قابلاً للدوران والتصفية.
- الاقتران العكسي (Inverse Pairing): يعرف النموذج الابن دالة مفردة بصيغة belongsTo تشير عكسياً إلى النموذج الأب.
PHP
use Illuminate\Database\Eloquent\Relations\HasMany;
public function comments(): HasMany
{
return $this->hasMany(Comment::class);
}
$count = $post->comments->count();