شرح صفوف ومحتوى الفقرة
لعرض عدد التعليقات أو الوسوم بجانب كل مقال في قائمة العرض دون تحميل كائنات العلاقة نفسها، ألحق دالة withCount باستعلامك. يضيف Eloquent عمود استعلام فرعي باسم {relation}_count إلى كل نموذج مسترجع، مما يحافظ على انخفاض استهلاك الذاكرة وسرعة الصفحة.
- العد بالاستعلام الفرعي (withCount): يضيف خاصية رقمية جاهزة مثل tags_count أو comments_count إلى كل نموذج أب في النتيجة.
- إحصاء علاقات متعددة (Multiple Counts): يقبل مصفوفة بأسماء عدة علاقات لحساب أعدادها جميعاً في استعلام واحد.
- العد المشروط (Filtered withCount): يسمح بتمرير دالة مغلقة لإحصاء السجلات المرتبطة التي تحقق شرطاً معيناً فقط.
PHP
$posts = Post::withCount(['tags', 'comments'])->get();
foreach ($posts as $post) {
$totalTags = $post->tags_count;
}