获取随机记录

时间:2017-12-25 04:11:41

标签: ruby-on-rails

我正在尝试使用where获取随机记录。是否可以在铁轨中进行?例如,我有这个:

Post.where(available: 'true', approved:  "true").first

我想获得随机记录而不是第一个记录。如果可以这样做,它会对性能产生影响吗?

1 个答案:

答案 0 :(得分:1)

您可以在活动记录关系上使用.shuffle,这将为您返回一个数组。

Post.where(available: 'true', approved:  "true").shuffle.first

或者

Post.where(available: 'true', approved:  "true").sample

或更有效的方式

Post.where(available: 'true', approved:  "true").order("RANDOM()")