которая имеет мутатор "rating", который в свою очередь вычисляется из 2-х полей.
Эти 2 поля постоянно меняются в процессе голосования на сайте.
Так вот, на одной странице мне нужно вывести Images отсортированные по этому мутатору. С чем вы уже помогли разобраться.
Но количество Images будет большое, поэтому нужно сделать динамическую подгрузку по 10 штук.
И тут возникает ситуация,
- один пользователь загрузил 10 Images
- второй активно голосует, тем самым у нескольких Images меняется "rating"
- первый пользователь загружает ещё 10 штук
и тут уже сортировка нарушится,
Как быть в этой ситуации?
Единственное что приходит в голову, загрузить 10, потом 20 и обновить список удалив\подменив первые 10, и так далее 30, 40, 50
Но может есть более правильные решения, прошу совета))
Тебе нужен список на конкретное время. Есть 2 варианта 1. Получить id всех фото, сохранить в сессию, отдавать постранично. Плюсы: быстро Минусы : жрет место, сессия большая может быть, нужно думать об открытии нескольких вкладок 2. Запомнить дату начала генерации списка. Отдавать список по состоянию на указанное датавремя Плюсы: ничего не надо помнить в сессии, нет емкой логики на бд Минусы: Нужна история голосов. Нужно делать срез за период, а это провоцирует нагрузку на бд. Как убрать нагрузку: Для того чтобы не было нагрузки, можно сохранять ежедневные срезы и от них считать динамику.
Обсуждают сегодня