我正在尝试使用where
获取随机记录。是否可以在铁轨中进行?例如,我有这个:
Post.where(available: 'true', approved: "true").first
我想获得随机记录而不是第一个记录。如果可以这样做,它会对性能产生影响吗?
答案 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()")