Я пытаюсь получить несколько случайных записей из моей таблицы несколько раз.
Я попробовал следующее:
random = []
10.times {random.push(People.order("RAND()").limit(5))}
Я ожидаю получить массив из 10 различных списков из 5 случайных людей из таблицы в случайном порядке.Но вместо этого я получаю один и тот же список из 5 случайных людей 10 раз.Что я делаю не так?
Редактировать:
Также вот что я получаю из журнала
People Load (1.2ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
CACHE People Load (0.0ms) SELECT `peoples`.* FROM `peoples` ORDER BY RAND() LIMIT 5
Edit2:
Исправлено, делая
random = []
People.uncached do
10.times {random.push(People.order("RAND()").limit(5))}
end