طلب: شارة مخصصة SQL لإجمالي عدد الإعجابات

مرحباً!

هناك شارة افتراضية تأتي مع البرنامج تعجبني كثيراً، ولكن أود تعديلها قليلاً.
الشارة الأصلية:

تُمنح هذه الشارة عندما يكون لديك 100 منشور مُعجب به وتقدم 100 إعجاب أو أكثر بالمقابل. شكراً لك على رد الجميل!

الشارة المطلوبة:

تُمنح هذه الشارة عندما تتلقى 100 إعجاب وتقدم 100 إعجاب أو أكثر بالمقابل.

“جزء العطاء” يجب أن يظل متطابقاً. ولكن لتجاهل عدد المنشورات تماماً في نظام نقاط المنتدى، أريد أن يتأهل المستخدمون الذين تلقوا 100 إعجاب على منشور واحد للحصول على هذه الشارة بنفس طريقة المستخدمين الذين تلقوا إعجاباً واحداً على 100 منشور مختلف.

حتى الآن، اتبعت هذا: Enable Badge SQL

  • قمت بتمكين SiteSetting.enable_badge_sql = true، وأرسلت شارة SQL الجديدة عبر واجهة المستخدم الرسومية، ثم قمت بتعطيل استعلامات SQL المخصصة لأسباب أمنية مع SiteSetting.enable_badge_sql = false. الشارة المخصصة تعمل بشكل جيد ولكنني لا أخاطر بشكل همجي بدون مؤهلات قاعدة بيانات/SQL.

حتى الآن المنتدى صغير ولا توجد مشاكل واضحة ولكن قد أواجه بعض مشاكل الأداء مع نمو المنتدى. إذا كان لديك وقت، يرجى تقديم استعلام SQL الخاص بك لهذه الشارة المخصصة.

شكراً جزيلاً!

أهلاً بك @rapphann :slight_smile:

أخشى أنني لست خبيراً في SQL أيضاً :slight_smile: ولكن أعتقد أن الأمر سيكون شيئاً كهذا:

SELECT us.user_id, current_timestamp AS granted_at 
FROM user_stats AS us 
WHERE us.likes_received >= 100 
AND us.likes_given >= 100
AND (:backfill OR us.user_id IN (:user_ids))
4 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.