Как организовать рейтинг на сайте по клику на кнопку?

Пытаюсь решить вопрос с постройкой велосипеда очередной раз. Мне надо организовать топ записей по клику на кнопку избранное. Но не просто ещё отображался топ по количеству кликов но и что бы был реализован счетчик изменений кликов за сутки то есть условно говоря сегодня на пять человек больше подписалось выводится +5 если отписалось то -5. Если описаны такие решения скиньте пожалуйста ссылку.
  • Вопрос задан
  • 187 просмотров
Пригласить эксперта
Ответы на вопрос 1
Demetriy
@Demetriy
веб и мобильная разработка
Тут нету ничего нестандартного, я бы сделал так:
1) Таблица для избранного: пользователь, материал, время и т.п.
Сравнить количество лайков за вчера и сегодня в таком случае не проблема, но, если ваше количество лайков исчисляется десятками тысяч на запись, то можно еще добавить таблицу с агрегированными за день данными по каждой записи и обновлять ее n раз в сутки.

2) Поле у записи, в которое пишется количество лайков, чтобы было проще сравнивать записи между собой, выводить агрегированный значения и т.п., без обращения к таблице из пункта 1.
Для обновления этого поля можно повесить на триггер (на стороне БД) или прописать в методах модели, я бы выбрал второе, т.к., в случае, если после вас кто-то будет работать с кодом или большая команда, то о триггере всем нужно знать и т.п., а когда это в коде, то сразу видно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы