أعتقد هذا أيضًا.
لكن سام مصر على أنه شيء:
لا يبدو أن هناك أي شارات متاحة لهذا حتى الآن.
إذا كانت لديك معايير شارة محددة لأي منها ترغب في إنشائها، فيجب عليك إطلاق موضوع Data & reporting لكل منها. ![]()
أعتقد أن بعض الأمثلة يمكن أن تكون على غرار:
الحصول على 10 أصوات على رد منشور تصويت
SELECT p.user_id, p.created_at AS granted_at, p.id AS post_id
FROM post_voting_votes pvv
JOIN posts p ON p.id = pvv.votable_id
WHERE pvv.direction = 'up'
AND p.post_number <> 1
AND (:backfill OR p.id IN (:post_ids))
GROUP BY p.user_id, p.id
HAVING COUNT(*) >=10
أو واحد أكثر دقة حيث قمت بحساب الأصوات (الإيجابية - السلبية):
WITH vote_totals AS (
SELECT
p.user_id,
p.id AS post_id,
p.created_at AS granted_at,
(COUNT(*) FILTER (WHERE pvv.direction = 'up') - COUNT(*) FILTER (WHERE pvv.direction = 'down')) AS total
FROM post_voting_votes pvv
JOIN posts p ON p.id = pvv.votable_id
WHERE p.post_number <> 1
GROUP BY 1, 2
)
SELECT *
FROM vote_totals
WHERE total >= 10
AND (:backfill OR post_id IN (:post_ids))
ستحتاج هذه إلى مزيد من الاختبار للتأكد من أنها تعمل كما هو مقصود. ![]()
على الرغم من أن أحد الأشياء التي يجب مراعاتها هو أن الإجمالي ديناميكي، لذا فإن “10” اليوم يمكن أن يتحول إلى “5” غدًا إذا تمت إضافة المزيد من الأصوات السلبية (للمثال الثاني). وإذا كانت الشارة تستند فقط إلى الأصوات الإيجابية مثل المثال الأول، فقد تحصل على 10، ولكن الواجهة تعرض 5 فقط عند إجمالي الأصوات السلبية.