Есть представление со случайной сортировкой и постраничным выводом. Открываю представление и вижу на первой странице первую порцию материалов в случайном порядке. Перехожу на вторую страницу представления и вижу еще одну порцию материалов в случайном порядке, но среди них встречаются и материалы с первой страницы представления.
Как я понимаю, запрос случайных материалов происходит на каждой странице. Пробовал включать / отключать кэширование запросов, но результат один и тот же.
Кто-то как-то решал подобную задачу?
Комментарии
Ну так логично - он случайно сортирует и показывает страницу которую запросили, проблемы - не вижу?!
Выборка с рандомной сортировкой с пагинацией(offset,limit) работает правильно..
При каждом запросе страницы выбирается offset+limit произвольных записей, и из этой выборки выводиться limit записей начиная с записи с номером offset.
где limit = кол-во записей на страницу, offset = произведение limit на порядковый номер страницы(т.е. количество записей на предыдущих страницах)
А вот если Вам необходима выборка, так сказать, с "псевдо" рандомной сортировкой с пагинацией, то это совсем другая история.
Задачка конечно довольно сложная но интересная, с точки зрения "поломать голову".. А оно Вам надо?
Такое ощущение, что что-то "спроектировано" не правильно.
Я конечно могу ошибаться, не зная всех условий задачи, поэтому опишите, пожалуйста, для чего это надо?
Ну не совсем такое, например такое, чтобы были закрепленные записи вверху списка за денежку а остальные периодически периодически меняли вес по кругу - каруселькой, такое делал и странички там есть, тупо веса материалов - пересчитываешь и дело в шляпе.
https://www.drupal.org/project/views_random_seed/ — решение задачи.
Взгляните на рекомендованные видео в YouTube, на разного рода интернет-журналы. Это часто применяется. Конечно, это не рандом в чистом виде, а лишь эффект рандома. Запрашиваем рандомный список материалов и фиксируем их на определенное время. Делается это для "примерно равномерного" распределения внимания аудитории на все материалы. Конечно, задача нетривиальная и далеко не всегда целесообразная, но мне такое понадобилось. В философии вопроса разбираться совсем не обязательно
Как раз-таки в YouTube рекомендации бесконечные. Специально для вас снял демонстрацию — https://youtu.be/UPRnQI6wmuU
А вы лучше бы по сути отвечали, а не разводили философию о том, как лучше
На ютубе она очень даже не рандомная. Хотя она случайна по определенным критериям в определенный момент.
Кстати, бесконечная подгрузка - удобная штука в UI.