У меня есть несколько моделей на моем сайте.Есть предложения и предметы, а также предложения.
Я создал шаблон, который показывает, что сейчас горячо.Я хочу иметь возможность применить это ко всем трем моделям, упомянутым выше, и мне было интересно, как лучше к нему подойти.
Очевидно, что я могу добавить «hotness_score
» к каждой из этих моделей, а затем запустить cron, чтобы обновлять их показатель жары каждый час (по моему собственному алгоритму).Тем не менее, неудобно то, что если я хочу отобразить десятку самых горячих вещей на своем сайте, мне, возможно, придется взять десятку самых горячих объектов из каждого из них, а затем отсортировать их в памяти.(Хотя я могу их кешировать, это звучит не очень приятно).
Я также думал о создании новой модели, известной как Hotness, которая имеет следующие атрибуты:
- Введите
- object_id
- hotness_score
- last_updated
Хорошо, что мне нужно только запросить Hotness order_by 'hotness_score DESC'.limit (10), и я могу объединить 10 лучших из всех.
Как вы думаете, это хорошая реализация?Вы видите какие-либо проблемы с этим?
Может кто-нибудь пролить свет на лучший подход к этой проблеме?Я приветствую все предложения.