не корректно отображение рейтинга
Обращаюсь за помощью к добрым людям))
На днях столкнулся с такой проблемой:
на своем сайте мы объявили конкурс на лучшую публикацию. То есть за определенный период пользователи должны оценивать публикации стрелками вверх или вниз, и по завершению конкурса, автору публикации с наивысшим рейтингом мы вручаем приз. Люди были бы не людьми, если бы не решились смухлевать. Уже несколько раз пресекались попытки регистрации кучи фэйковых аккаунтов и поголовоном минусовании публикаций. Всех нарушителей отловили, дубли потерли. Но проблема в том, что оценки у публикаций считаются по старому. Если провалиться внутрь оценки, то увидим список оценок, без дублей. Однако финальная оценка, которую видят все, выводится ошибочная. То есть после удаления, нарушителей, их аккаунты удалились вместе с оценками, но тем не менее оценки у публикаций не пересчитались.
Кто-нибудь знает, как можно это исправить? Что нужно сделать, чтобы рейтинг публикаций пересчитался? (примеры приложил в аттаче)
Буду очень благодарен за помощь.
ь
UPDATE cms_con_posts p SET p.rating = (SELECT SUM(score) FROM cms_rating_log r WHERE r.target_id = p.id AND r.target_subject = 'posts')
Пример пересчета рейтинга в постах:
Бэкап базы обязательно сделайте перед любыми действиями с ней!
UPDATE cms_con_posts p SET p.rating = (SELECT SUM(score) FROM cms_rating_log r WHERE r.target_id = p.id AND r.target_subject = 'posts')
Благодарю.