Mahmoud Alrashidi نشر 22 مارس 2021 أرسل تقرير مشاركة نشر 22 مارس 2021 (معدل) لدي في قاعدة البيانات الجداول التالية: hackathons id name ... hackathon_user hackathon_id user_id users id name و لدي العلاقة التالية في النموذج Hackathon : public function participants() { return $this->belongsToMany(User::class); } أريد جلب سجلات الجدول hackathons مرتبة وفق عدد المشاركين كيف يُمكن ذلك؟ تم التعديل في 22 مارس 2021 بواسطة كمال محمودي اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 سمير عبود نشر 22 مارس 2021 أرسل تقرير مشاركة نشر 22 مارس 2021 بإمكانك إستخدام التابع withCount لتحقيق ذلك: Hackathon::withCount('participants') ->orderBy('participants_count', 'desc') ->paginate(10); // or ->take(10) إذا كنت تريد جلب العشر الأوائل في الترتيب كما يُمكنك إستخدام join أيضاً كما هو موضح أدناه: $hackathons = Hackathon::leftJoin('hackathon_user','hackathons.id','=','hackathon_user.hackathon_id') ->selectRaw('hackathons.*, count(hackathon_user.hackathon_id) AS `participants_count`') ->groupBy('hackathons.id') ->orderBy('participants_count','DESC') ->paginate(10); 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Mahmoud Alrashidi
لدي في قاعدة البيانات الجداول التالية:
hackathons id name ... hackathon_user hackathon_id user_id users id name
و لدي العلاقة التالية في النموذج Hackathon :
أريد جلب سجلات الجدول hackathons مرتبة وفق عدد المشاركين كيف يُمكن ذلك؟
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.