إستخدام withCount لحساب عدد الحقول الأبناء

إستخدام withCount لحساب عدد الحقول الأبناء

2024-11-20 وقت القراءه : 1 دقائق

إذا كان لدينا علاقة hasMany ونريد إظهار الجدول الأب مع عدد الأبناء، لا يجب كتابة جملة إستعلام أخرى، مثلا اذا كان لدينا جدول الأقسام cats ونريد إستخراج أسماء الأقسام مع عدد المنتجات في كل قسم

public function index(){
    $cat=Cat::select('id','title')->withCount('product')->get();
    return $catt;
}

النتيجة تكون كما يلي

{
   "id": 3,
   "title": "Computer, Office & Security",
   "product_count": 2
},
{
    "id": 4,
    "title": "Bags & Shoes",
    "product_count": 2
}

كما تمرير مصفوفة من الحقول الى withCount

Cat::select('id','title')->withCount(['product','comments'])->get();

كما نستطيع عمل ترتيب حسب عدد الأبناء (المنتجات)

Cat::withCount('product')->orderBy('product_count', 'desc')->get();


إضافة تعليق
Loading...